title: Byte Me, Javascript Fatigue Fatigue Fatigue
url: http://www.foreverscape.com/art/2016/byte-me-javascript-fatigue/
hash_url: c70709eae0bbfc38b7bd73b447e3a14f

<span>“Honestly not even gonna read the article. I have framework fatigue blog post fatigue.” </span><p>
— </p><a href="https://www.reddit.com/r/javascript/comments/44syvj/angular_react_and_javascript_framework_fatigue/czswviy">godlychaos</a>


<p>
You are all a bunch of whiners. This is why I'm going to maintain an angry tone in this post instead of a <i>hold my forehead and sigh tone</i>. 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 <a href="http://developerblog.redhat.com/2016/02/03/angular-react-and-javascript-framework-fatigue/">whiners</a> whining about those whiners saying, "Don't whine about that, having many tools to choose from is something to be thankful for."
</p>

<h2>These are all made up BS reasons to gripe:</h2>

<ul>
    <li>Javascript Fatigue</li>
    <li>Framework Fatigue</li>
    <li>Bad Code In the Wild Fatigue</li>
    <li>Tooling Fatigue</li>
    <li>Fatigue Fatigue</li>
</ul>

<p>This is <b>WORK</b>. 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.  </p>

<h2>Why JS Fatigue is Crap</h2>

<p>
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 <i>not strict enough</i>. Well anything is better right? You're just looking for an excuse to stick with the familiar. Plus, it <a href="http://mp.binaervarianz.de/ecoop2015.pdf">doesn't really matter</a>, anyway.</p>

<p>
Write. Better. Code.

</p><p>

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.

</p><h2>Framework Fatigue is Crap</h2><p>

There's too many things to choose from. I'm trapped in NPM dependency management hell. I thought JS was supposed to be easy!

</p><b>Nothing is easy</b><p>. You think writing a full convex/concave/ragdoll </p><a href="https://www.youtube.com/watch?v=k6KLdfs6pQA">physics engine that runs on OpenCL</a><p> 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???? </p><b>Making tough decisions is part of the friggin' job. </b><p> 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 </p><i>go back to being scrum master and get me some coffee</i><p>.

</p><h2>Bad Code In the Wild Is Crap, <i>Duh</i></h2><p>

A retort I got on Reddit when I tried to say JS is not really </p><i>that</i><p> much trickier than any other language I've tackled:


</p><p>
“ Really? JS evangelist Eric Elliott says, "almost everybody knows a little JavaScript, but almost nobody really understands JavaScript." He has interviewed many JS devs and 99% of them get a failing grade. This may explain why there is soooo much crappy JS code out in the wild. ”
</p>

<p>
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 <i>really</i> 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 <a href="https://en.wikipedia.org/wiki/SOLID_(object-oriented_design)">SOLID</a> 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.
</p>

<h2>Tooling Fatigue</h2><p>

I 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.

</p><h2>Fatigue Fatigue</h2><p>

Screw 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!


</p>
