Hacker News new | ask | show | jobs
by 5zBFyURxgY 3225 days ago
Just don't do it. I totally regret I went for Javascript.

I started with systems programming with C++ etc.. At some point some 5 years ago I made the unfortunate decision to go for Javascript. After 5 years I can now confidently say that programming in Javascript is not about what you are creating, it is about what ESxxx version you use, what framework you use, whether you're using Promises or whatever idea people come up with tomorrow, and all this in an ever accellerating and continuing hype. I am sick of it already. Almost everything I learn is already, or will be soon, deprecated.

I would recommend people to go for C++/Qt or any language/framework where what you learn will not be wasted soon so you can use your valuable time to create things rather than learn the next framework or language idea all the time.

7 comments

C++/QT may be great, but a lot of the JS question boils down to website creation, rather than app creation.

I dumped node.js on the server site like a hot potato. At the time (2014), it didn't scale well and was quite porous dealing with stuff you'd get free in a framework like django (like db-backed form validation).

But, I can't say I regret learning JS. You won't be able to do the job developing websites if you can't wrangle it. It's so ubiquitous, despite my efforts to keep a node-free codebase, I still had to cave in. Even if it's just getting your foot in the door using SCSS. Or wiring in that jQuery plugin.

Whether it's situational awareness or dealing with webpack configurations, getting that last 10% cinched is going to require understanding what's going on.

What I think people need to know about JS is that they shouldn't just drink the Kool Aid because everyone else seems to.

I'm puzzled that your efforts to pursue expertise in the JavaScript field have not met your expectations.

I set out on the same quest and expected great pain but instead have found enormous satisfaction and success in the JavaScript ecosystem.

Along with massive pain associated with build tools.

JS and C++ basically mirror each other in being old languages hindered by backwards compatibility.

C++ is the exact same way with a regular release schedule. You using old C++, C++ 11, C++14, C++ 17, you ready for 20? But if you know what you are doing that modern subset of the language is super nice....like JS.

I agree. JavaScript as a language may have its quirks, but still mostly enjoyable for me to work with. The problem is with its ecosystem. It has "growing pains" of sorts. I read someone comparing it to the fashion industry and it started to make more sense to me. People are building up hype, banking on what kind of code the big shots are "wearing" and the tools/frameworks become and end unto itself rather than the means to an end. A lot of places shoot me down because I only used vanilla JS and jQuery at the last place I used that language.

A C++ job would be interesting for me to take on (I have used C++ in projects mostly from the mid-late 2000s) but I need to brush up on current standards even there. Would I be at a huge disadvantage right now in most jobs if I cannot yet code C++11 compliant code?

I love JavaScript but agree with your point about hype fatigue. At some point, you have to ask yourself if you're using JS to solve your problems anymore, or if you're just allowing yourself to be nerd-sniped by all the trivial choices you can make.

It's like [Obama's suits][1]. JS gives you all these little decisions you _can_ make, which wear you down. As soon as you stop caring and decide to "just pick one", you'll generally be fine.

[1]: https://www.fastcompany.com/3026265/always-wear-the-same-sui...

Promises was so last week. This week we're using Observables... :ha, ha:

That said, I disagree that everything you learn is getting deprecated quickly. Sure, some things change 'on the cutting edge'. But, there are tons of existing applications--and even new development--not using that stuff.

The knowledge and concepts you learn will help you keep going.

The original poster asked for recommendations in a particular language. If your recommendation is to learn a different language, it is irrelevant. What may not work for you, may work well for others.