Hacker News new | ask | show | jobs
by lmiller1990 2151 days ago
I think it depends. It's hard to learn more than one thing at once; if you already know JS well, learning about functional programming using it makes sense to me. It's tricky to learn both a new language paradigm and a new syntax at the same time.

Of course there are limitations to how functional you can really be in JS; that said, I like the idea of introducing some basic concepts with JS. If people like the idea, they can pursue a "functional first" language.

2 comments

Yeah, this is what happened to me. FP was really easy purchase for me with JS because of its numerous flaws. But in the end, it got tiresome to have to write libs and import them around to keep the ick away, and because the lang ecosystem was doubling down on enterprise OOP conventions with TS, I decided to move away to Haskell.
Learning new syntax really isn't hard. Bear in mind that quite a lot of supposedly "modern" JavaScript is new syntax.
Learning new syntax really isn't hard.

When you make an absolute claim like "Learning new syntax really isn't hard." you're really saying "I find it easy therefore everyone else must too." That's poor quality thinking at best, and actively toxic to your peers at worst.

In my twenty+ years as a mentor to developers I've learned that objective statements about what is and isn't hard in programming are always going to fail when it comes to some set of devs. Some people find it trivial to move from one mental model to another. Other people find it really hard. This is true for every aspect of development - there is nothing that everyone finds easy or that everyone finds hard. If you don't take that in to consideration when you talk about programming you're always going to be failing at least one group.

I think at some point we need to stop infantilising our peers. It isn't toxic when one child says to another that speaking in Pig Latin isn't hard. The difference between `function add(a, b) { return a + b; }` and `add a b = a + b` is about as superficial as the difference between Hello World and Ellohay Orldway. In fact, as I've already alluded to, syntax swaps don't even need to span different programming languages — "modern" JavaScript uses different function expression syntax.

Describing syntax swaps as a "move from one mental model to another" is intellectually dishonest.