<story><title>For modern development Javascript indeed is a shit language</title><url>http://live.julik.nl/2013/05/javascript-is-shit</url></story><parent_chain><item><author>Peaker</author><text>How do you handle Javascript ignoring wrong numbers of function arguments? Do you use a linter to catch this sort of thing?&lt;p&gt;This part of Javascript sounds the most absolutely insane to me: Silencing an error like that is catastrophic.</text></item><item><author>gkoberger</author><text>Personally, I disagree. I find JavaScript to be the most &amp;quot;write-able&amp;quot; language, and switching to Node + frontend JS as my main language (I&amp;#x27;ve done Python, Ruby, PHP, Java and C++ as jobs) has been the best thing I&amp;#x27;ve done in a long time. Express and Angular are amazing.&lt;p&gt;Sure, it has a bunch of quirks. Sure, it&amp;#x27;s not good for everything (I do mostly relatively simple CRUD apps). Sure, in the browser, it gets slow when the DOM is involved. Sure, this is hardly a rebuttal of the points in the original article.&lt;p&gt;But, still, I love JavaScript.&lt;p&gt;I think the problem is that the author is writing JavaScript as though it&amp;#x27;s Ruby. A JS developer switching to Ruby would have similar problems.</text></item></parent_chain><comment><author>Wintamute</author><text>Generally speaking, in the JS world at least, if you&amp;#x27;re passing more than a few parameters into a function you might have code complexity problems. If you need to pass in a bunch of data to a function you tend to do it in a single options object with some runtime checking to work out what to do with it. Any remaining problems should be caught with good test coverage. Being able to flexibly and clearly handle variable numbers of function arguments without getting entangled in an involved function overloading syntax and methodology is actually sometimes pretty nice. It&amp;#x27;s a feature not a problem. Haha :P</text></comment>
<story><title>For modern development Javascript indeed is a shit language</title><url>http://live.julik.nl/2013/05/javascript-is-shit</url></story><parent_chain><item><author>Peaker</author><text>How do you handle Javascript ignoring wrong numbers of function arguments? Do you use a linter to catch this sort of thing?&lt;p&gt;This part of Javascript sounds the most absolutely insane to me: Silencing an error like that is catastrophic.</text></item><item><author>gkoberger</author><text>Personally, I disagree. I find JavaScript to be the most &amp;quot;write-able&amp;quot; language, and switching to Node + frontend JS as my main language (I&amp;#x27;ve done Python, Ruby, PHP, Java and C++ as jobs) has been the best thing I&amp;#x27;ve done in a long time. Express and Angular are amazing.&lt;p&gt;Sure, it has a bunch of quirks. Sure, it&amp;#x27;s not good for everything (I do mostly relatively simple CRUD apps). Sure, in the browser, it gets slow when the DOM is involved. Sure, this is hardly a rebuttal of the points in the original article.&lt;p&gt;But, still, I love JavaScript.&lt;p&gt;I think the problem is that the author is writing JavaScript as though it&amp;#x27;s Ruby. A JS developer switching to Ruby would have similar problems.</text></item></parent_chain><comment><author>powatom</author><text>Is this so much of a problem that we need to re-design JS to handle it? Why not just avoid making this mistake in the first place by reading the code? Not to sound dismissive - but if you&amp;#x27;re making these kinds of mistakes regularly enough to irritate you, it&amp;#x27;s not the language that&amp;#x27;s at fault.&lt;p&gt;Javascript&amp;#x27;s squishiness is the thing I like the most about it. It&amp;#x27;s far from perfect, just like any other language out there - but it&amp;#x27;s fun.</text></comment>