Hacker News new | ask | show | jobs
by centrinoblue 3641 days ago
After all this time it's still interesting to see how much hate there is out there for JavaScript even though it has proven itself a more that capable language across multiple platforms.
1 comments

It's not so much the hate for JavaScript. It's the hate for the developers who know nothing about computing history making all the same mistakes as with any other platform while being so darned insistent that the world will run only on JavaScript any day now because JavaScript is the uber language.
You meet a young hip developer at the train station, the train is 8 minutes late so you have a moment to talk. They tell you they love JavaScript above all else, after a brief rant about how great lexical scoping and arrow functions are in ES6 you can finally get a word in edgewise.

What pieces of advice do you offer so that this poor child may avoid the mistakes of his forebears?

More than anything I would say stay slightly behind the hype wave.

Take two steps back and one can see the waves of hype roll through programming blogs, HN and reddit. 10 years ago people were arguing over ORMs. Then it was dependancy injection frameworks, then SQL vs NoSQL. Now there's JavaScript and it's various frameworks and libraries. THere's always so much hype about what to use that it's easy to lost in it and worry that if you aren't riding the trend wave, you'll drown. But most times it's easier just to float a while and watch from a short distance. Get done what you need to get done with what you currently know. Let the hype die down. Learning new things is a ton of fun. But they can be devilish to deploy in production. Don't feel like you have to use them.

Edit: I'm not saying DI frameworks, or ORMs or NoSQL (or even SQL) are bad in any way. Just that within each topic there was much arguing about what is "the best" or "proper" or whatever. Wait for that to cool off and die down before betting your next project on it.

They're not waves, they're cycles, with each successive generation rediscovering the lessons of the previous generation. I found it particularly amusing to see javascript front-end developers struggle with model/view binding strategies a few years back knowing that all of this was already hashed out by desktop developers in the 90's and terminal interface developers in the 70's. Still, react came out of that, and I don't think the desktop ever had an equivalent to react, at least not in the 90's. So every once in a while a genuinely novel idea pops up, but they're rare.

Citing Alan Kay on the difficulties of keeping up with tech:

We are fortunate that most of what is "new" is more like "particular 'news'" rather than actually "new". From the standpoint of actual categorical change, things have been very slow the last 30 years or so.

Even react is based on 4 decade old ideas; Component based programming (at least the idea of it) has been around since the 60's.
I wouldn't say components is the novel idea in react. For me the novel idea is continually generating the entire ui by applying functions to data. Previous component-based frameworks were about static declaratively-described ui's that where then bound to data, which is in many ways an inferior approach.
"developers who know nothing about computing history"

I guess it depends on what time scale you are using to define computing history. JavaScript hasn't been 'new' for a long time.

I've been a web programmer for about 20yrs and have used ASP, ColdFusion, Java, C#, PHP, and JavaScript professionally and for me it is the language I enjoy using/writing the most. It continually surprises with new and more powerful innovations and implementations: from the early days of DHTML to AJAX, closures, Node, React, Tessel, etc.

I'm curious as to what more would have to be done with the language for it to graduate to 'real' language status.

Heck even NASA thinks it's good enough: https://vimeo.com/168064722

I ... didn't say JavaScript wasn't a 'real' language...