<story><title>JavaScript for People Who Hate JavaScript</title><url>https://zachholman.com/posts/javacript-haters</url></story><parent_chain><item><author>sametmax</author><text>TL;DR: JS with a ton of make up and tooling to not write JS is not as horrible as it used to be.&lt;p&gt;Well. That doesn&amp;#x27;t make it awesome either.&lt;p&gt;You just traded some problems for others.&lt;p&gt;Like the damn source map never working correctly, the build time being longer and longer, and the never ending list of plugins you expend every day after stumbling on yet another small-minuscule-not-that-important-I-swear detail.&lt;p&gt;The tool chain you spend more and more time on, despite all the &amp;quot;5-minutes&amp;quot; bundles provided by facebook or on githubs.&lt;p&gt;Explaining things to new comers has never been as difficult as it is now. Teaching is a pain.&lt;p&gt;Choosing your stack is a dangerous bet, and the odds and steaks are changing all the time.&lt;p&gt;If you opt-in for a flux architecture, you will soon write Java-as-in-the-90 on the frontend instead of Javascript, with so many adapters and design patterns as layers you will become angry.&lt;p&gt;If you don&amp;#x27;t (you-totally-don&amp;#x27;t-need-redux-to-use-react-guys) then most documentations and tutorials will not answer your questions, and you are own your own solving every single problems. Even the simplest ones, like redirecting on a route after data changes and closing a panel at the same time.&lt;p&gt;&amp;quot;Libs, not framework&amp;quot; means you need to relearn everything, rewrite a lot of code, tests and doc and renew maintenance for each new project. Meanwhile nobody agree on what a the proper stack is.&lt;p&gt;JS, despite all the paint on the rust, still has the old gotchas. This is still weird. &amp;quot;;&amp;quot; is still auto inserted. &amp;quot;==&amp;quot; still compares like nothing else. Errors come in different so many different forms it&amp;#x27;s not funny. Basic maths assumptions like commutativity are out of scope. Still no namespaces, but instead we use monstrosity like webpack and incompatible import systems to encapsulate things. Stdlib still doesn&amp;#x27;t have essential things like hashing, string&amp;#x2F;date formatting or encoding. Even basic operation like removing an element from an array using an index is a pain.&lt;p&gt;No, I&amp;#x27;m sorry, JS has not become awesome. We just arrived to a point were we accepted we have everything to built with it and agree to pay the huge price for it. That&amp;#x27;s all.&lt;p&gt;Projects like vue.js makes me think there is still hope we end up with elegant tools from people who care. But right now I just embrace the madness and make money with it: all those poor customers don&amp;#x27;t realize the trap the current mindset lead them to, and I have so many solutions to the problem they should never have had to sell them.</text></item></parent_chain><comment><author>cookiecaper</author><text>&amp;gt;No, I&amp;#x27;m sorry, JS has not become awesome. We just arrived to a point were we accepted we have everything to built with it and agree to pay the huge price for it. That&amp;#x27;s all.&lt;p&gt;Yep, this is the crux. ES6+ has finally made JavaScript look more or less like the languages we were using in the mid-90s, so I appreciate that, but it&amp;#x27;s not like it&amp;#x27;s some glorious boon to the developer community.&lt;p&gt;Any gains from the new semi-tolerable semantics are quickly overwhelmed by requiring layer-upon-layer-upon-layer of crap, including hundreds of dangerous random modules from GitHub to compensate for the virtually non-existent standard library and a &amp;quot;build pipeline&amp;quot; that consists of several unrelated runners, bundlers, transpilers and transformers to make code that&amp;#x27;s actually usable in real environments.&lt;p&gt;JavaScript is a tragedy for the development community from start to finish, and its increasing prominence should disabuse us of the notion that development is dictated by meritocracy or any such fantastical nonsense like that. Marketing and groupthink have just as much pull here as anywhere else (if not more because so many of us egotistically believe we are immune to it).</text></comment>
<story><title>JavaScript for People Who Hate JavaScript</title><url>https://zachholman.com/posts/javacript-haters</url></story><parent_chain><item><author>sametmax</author><text>TL;DR: JS with a ton of make up and tooling to not write JS is not as horrible as it used to be.&lt;p&gt;Well. That doesn&amp;#x27;t make it awesome either.&lt;p&gt;You just traded some problems for others.&lt;p&gt;Like the damn source map never working correctly, the build time being longer and longer, and the never ending list of plugins you expend every day after stumbling on yet another small-minuscule-not-that-important-I-swear detail.&lt;p&gt;The tool chain you spend more and more time on, despite all the &amp;quot;5-minutes&amp;quot; bundles provided by facebook or on githubs.&lt;p&gt;Explaining things to new comers has never been as difficult as it is now. Teaching is a pain.&lt;p&gt;Choosing your stack is a dangerous bet, and the odds and steaks are changing all the time.&lt;p&gt;If you opt-in for a flux architecture, you will soon write Java-as-in-the-90 on the frontend instead of Javascript, with so many adapters and design patterns as layers you will become angry.&lt;p&gt;If you don&amp;#x27;t (you-totally-don&amp;#x27;t-need-redux-to-use-react-guys) then most documentations and tutorials will not answer your questions, and you are own your own solving every single problems. Even the simplest ones, like redirecting on a route after data changes and closing a panel at the same time.&lt;p&gt;&amp;quot;Libs, not framework&amp;quot; means you need to relearn everything, rewrite a lot of code, tests and doc and renew maintenance for each new project. Meanwhile nobody agree on what a the proper stack is.&lt;p&gt;JS, despite all the paint on the rust, still has the old gotchas. This is still weird. &amp;quot;;&amp;quot; is still auto inserted. &amp;quot;==&amp;quot; still compares like nothing else. Errors come in different so many different forms it&amp;#x27;s not funny. Basic maths assumptions like commutativity are out of scope. Still no namespaces, but instead we use monstrosity like webpack and incompatible import systems to encapsulate things. Stdlib still doesn&amp;#x27;t have essential things like hashing, string&amp;#x2F;date formatting or encoding. Even basic operation like removing an element from an array using an index is a pain.&lt;p&gt;No, I&amp;#x27;m sorry, JS has not become awesome. We just arrived to a point were we accepted we have everything to built with it and agree to pay the huge price for it. That&amp;#x27;s all.&lt;p&gt;Projects like vue.js makes me think there is still hope we end up with elegant tools from people who care. But right now I just embrace the madness and make money with it: all those poor customers don&amp;#x27;t realize the trap the current mindset lead them to, and I have so many solutions to the problem they should never have had to sell them.</text></item></parent_chain><comment><author>lopatin</author><text>Agreed, I stopped recommending React to beginners. I still love it and think it&amp;#x27;s the future, but in the sense that it&amp;#x27;s the new low-level. Eventually I think it will be standard to compile futuristic, high level, built-for-apps languages into React code. But for now, makes sense to just use a batteries-included framework. I don&amp;#x27;t know what the most sure shot is there though. Ember? Vue?</text></comment>