On Tue, 18 Jul 2023 at 16:13, Dom Grigonis <dom.grigonis@gmail.com> wrote:
To me, they are in the inverse relationship.

Terseness ~ 1 / expressiveness.

No, they are unrelated (in general).

Terseness is nothing more than "can I use fewer characters?" and is almost always the wrong thing to do in isolation (yes, if things get *yoo* verbose they can be hard to comprehend, but that's about going to extremes, not about terseness as such).

Expressiveness is about matching the *concepts* involved to the problem. So list comprehensions are expressive because they declaratively say what the content of the list should be, and avoid the unnecessary concepts around how you build the list. It's irrelevant how many characters are involved, what matters is that you can omit saying "first create an empty list, now add elements like <this> one by one..."

Paul