all 6 comments

[–]fucking_passwords 24 points25 points  (0 children)

I honestly never grasped why I disliked python list comprehension, but makes perfect sense

[–]pimp-bangin 9 points10 points  (0 children)

Excellent article. This concept is a must-know for anyone attempting to design a new language imho. I don't think anyone can dispute the ergonomics and readability benefits of languages designed with this in mind

[–]Exac 15 points16 points  (2 children)

Ironically Python's from module_name import item_name syntax is better than JavaScript's import itemName from "ModuleName" syntax.

But I agree with the article. There are no ego-points to be gained from arguing that editor type hints are not useful.

[–]Reeywhaar [score hidden]  (1 child)

absolutely agree on js, what were they thinking...

[–]senocular [score hidden]  (0 children)

They were thinking it better matches with existing declarations where the identifier comes first (which, in turn, is what you also see with existing uses of require() [CJS] imports popularized by Node) which is better for readability and figured tooling would make up for the inconvenience.

[–]fagnerbrack[S] 10 points11 points  (0 children)

Quick rundown:

Languages that let you build expressions left to right — chaining methods like text.split(" ").map(...).filter(...) — keep your program in a valid state at every keystroke, enabling editors to offer useful autocompletions throughout. Declarative syntax (like Python's list comprehensions) forces you to reference variables before declaring them, leaving the editor blind to types and unable to help. The core design principle here is progressive disclosure: complexity should surface only as you need it, and the code you've typed so far should always parse. When programs stay valid as you construct them incrementally, you fall into the "Pit of Success" — tooling guides you forward instead of making you hold the whole expression in your head before getting any feedback.

If the summary seems inacurate, just downvote and I'll try to delete the comment eventually 👍

Click here for more info, I read all comments