You are all a bunch of whiners. This is why I'm going to maintain an angry tone in this post instead of a hold my forehead and sigh tone. I'm going to be brief and just say why the hell all of your points suck. This never ending sob story has even tricked me into reading anti-fatigue articles as pro-fatigue articles. That's how fa— pissed off I am now. It's a war on multiple fronts, too. You've got whiners saying there's too many tools. You've got whiners whining about those whiners saying, "Don't whine about that, having many tools to choose from is something to be thankful for."
These are all made up BS reasons to gripe:
- Framework Fatigue
- Bad Code In the Wild Fatigue
- Tooling Fatigue
- Fatigue Fatigue
This is WORK. If it was a box of free, wet underwear taken from the corner and sold at Sachs Fifth Ave, you'd have every right to complain. There certainly wouldn't be bootcamps springing up everywhere promising you a job in wet underwear markup and wholesale systems.
Why JS Fatigue is Crap
It's eating everything! Oh no! It's so crappy. Even the developers who use it don't understand it, it's weak, implicit type conversion will make my code incomprehensible. TypeScript is not strict enough. Well anything is better right? You're just looking for an excuse to stick with the familiar. Plus, it doesn't really matter, anyway.
Write. Better. Code.
Poor baby's language implicitly adds "f" + 2.6 incorrectly? DON'T FRIGGIN ADD "F" to GOD DAMN 2.6 anymore. Or just use TS (or whatever you prefer) already and move on. Hell, even jshint will shut you up for a while.
Framework Fatigue is CrapThere's too many things to choose from. I'm trapped in NPM dependency management hell. I thought JS was supposed to be easy! Nothing is easy. You think writing a full convex/concave/ragdoll physics engine that runs on OpenCL is supposed to be easy? You think writing an enterprise app in Java using spring framework and a polyglot storage solution (document, RDB and graph, in a cloud infrastructure with an event queue/messaging system, list goes on...) is supposed to be easy? Wanna fire up some c# WebAPI? Well do you also want to use entity framework? Do you want to do it code or DB first???? Making tough decisions is part of the friggin' job. Somehow JS frameworks are special. No they're not. If a C#/Python/Java/Ruby developer walked in an complained about having too many robust libraries and frameworks to choose from, I'd slap him and say go back to being scrum master and get me some coffee.
Bad Code In the Wild Is Crap, DuhA retort I got on Reddit when I tried to say JS is not really that much trickier than any other language I've tackled:
No, you know why there's so much crappy JS code is in the wild? Because all the new developers are flocking to it. OF COURSE THEY'RE GONNA WRITE CRAP. I don't care if my new intern doesn't know how prototypical inheritance works; does anyone really know how it works under the hood? If you do, you're walking the prototype chain, if not, get back to work. If you know the fundamental SOLID principles and how to employ them, I don't care if you've never even heard of a forEach loop, open the project, do the damn NPM install and get to work already, you've got a lot of for loops and shitty inheritance to write! Deadline's Friday, noob.
Tooling FatigueI don't know if I should GRUNT my GULPS or FLIP my NIPS. I can't decide if I want to YEOMAN this out, use UGLIFY or use NG-MIN. Should I use BEEF or COMMONJS or BROWSERIFY? Don't use them, use them all. You know what they say, “If it's stable on the field, poke a hole in the corporate firewall and NPM that ball.” If you're gonna just stand there like a deer in headlights, the highway patrol will be scraping you off the shoulder into a ditch. Copy a friggin template project off of Github or just do whatever the top Stack Overflow question says to do... and GET BACK TO WORK. If after six months of writing vanilla JS you think you want a hand, go shopping and not whining.
Fatigue FatigueScrew this, I'm going to bed now. I'll leave you with an old video of me explaining in rap form, how to build a physics engine. It's friggin' easy!
Six Years Of Artistic Self Restraint→Many years ago when this all started, I wanted to combat my fear of losing interest in the lifelong project, so I strictly constrained my technique and media. Oil paint is my preferred medium,...
3 Leaf, Angle and Height Adjustable Drawing Table→Why? It folds up nicely. It looks cool. It's modular and expandable indefinitely! To paint the ForeverScape, I need to see at least 20-40 pages in front of me at the same time. That...