But JS dev has never been fun.
Web dev is fun because the browser is a freaking awesome plateform.
However, it is _despite_ of JS.
There's not a single characteristic of this language that makes it better than any other mainstream high level language out there. We use it because we have no reasonable alternative on the browser. It has always been a pain to use, requiring:
- avoiding part of the language that is badly designed to escape traps.
- recreating basic features that you take for granted in any other tech like isolation, namespacing, primitive stlib features, etc.
- fight with the various implementations to find some code that will work for most of your customers.
- use tooling to compensate any weakness you can. Remember the most popular projects in JS (coffee, tsx, jsx, babel, webpack, etc) are mostly projects allowing you... to avoid writing JS.
The fact that the community is now shooting itself in the foot by providing so many incompatible, badly documented and breaking-compat-all-the-time tools is just icing on the rotten cake.
P.S: since this comment is getting upvotes, I will say that having used in prod vanilla, jquery, react, angular and Vue, I will stick with Vue for the next years. I'm done. My quest is over. It takes 3 hours of reading to be productive with it. It requires no tooling and yet can be used with existing tooling. It's fast. It's well documented. I can now focus on writing software again.