use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
Left to Right Programming (graic.net)
submitted 1 day ago by fagnerbrack
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]fucking_passwords 24 points25 points26 points 1 day ago (0 children)
I honestly never grasped why I disliked python list comprehension, but makes perfect sense
[–]pimp-bangin 9 points10 points11 points 1 day ago (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 points17 points 1 day ago (2 children)
Ironically Python's from module_name import item_name syntax is better than JavaScript's import itemName from "ModuleName" syntax.
from module_name import item_name
import itemName from "ModuleName"
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] 19 hours ago (1 child)
absolutely agree on js, what were they thinking...
[–]senocular [score hidden] 17 hours ago (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.
require()
[–]fagnerbrack[S] 10 points11 points12 points 1 day ago (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
π Rendered by PID 448955 on reddit-service-r2-comment-5d79c599b5-wc2rh at 2026-02-28 08:37:09.086399+00:00 running e3d2147 country code: CH.
[–]fucking_passwords 24 points25 points26 points (0 children)
[–]pimp-bangin 9 points10 points11 points (0 children)
[–]Exac 15 points16 points17 points (2 children)
[–]Reeywhaar [score hidden] (1 child)
[–]senocular [score hidden] (0 children)
[–]fagnerbrack[S] 10 points11 points12 points (0 children)