Hacker News new | ask | show | jobs
by Cut_N_Paste 3731 days ago
I just don't understand all the JavaScript hate. I've used languages like java and python, basic and pascal, c, c++, assembly, and for the past 15 years JavaScript... I can say without hesitation, that it is my favorite language... I have a hard time explaining exactly why that is... sort of like trying to explain why chocolate is my favorite desert, I mean I like all kinds of ice cream, but chocolate is my favorite.
2 comments

Java, Basic, Pascal, C++ -- you're not exactly listing very good platforms in the first place. Python's a bit better but still seems antiquated, like Go.

Try Haskell or an ML. Heck, even C# isn't that bad these days.

JavaScript's just a minefield of pitfalls. To be fair, it was designed in 10 days, and progress on it has been slow to say the least. (Hence the silly crap like having a "left-pad" thing as a 3rd party "module" instead of part of a proper stdlib.)

Other stuff like using "function" as the lambda identifier just make me shake my head. Or not having integers. Just poor decisions all around.

Same here. I've been a professional developer for 20 years. I love JavaScript. To me, programming is mostly just about functions and simple data structures. The hard part isn't getting the machine to work, or having easy access to powerful programming constructs. The hard part is finding the simplest model that will get the data where it needs to go, and that requires not programming language features but good design practices.

Generally, unless you're doing systems or realtime programming, or you are writing a serious fast path for a lot of data, the only reason you'd need more than the very basic features present in every programming language is that you're trying to do something more complicated than you should be.

Many programmers seem willing to take on almost any amount of complexity in their toolchain if it will allow them to express an idea in a slightly more concise way. I would prefer to stay much closer to the basics and just take the time to make really beautiful and powerful functions, rather than rely on a rickety stack of concepts that, if not confusing to me, will be confusing to many of the people who end up interacting with my code.