PHP, Perl, Visual Basic, C++…these are languages that have been heavily criticized, and yet they have many ardent fans. The fact that many people love JavaScript does not mean that it shouldn’t be scrutinized nor warned against, which is the sole purpose of my blog. It doesn’t ignore other perspectives; commenters here and elsewhere (esp. Reddit and Y Combinator) have most certainly presented them, and I’ve responded accordingly. That’s where you’ll find your “dialog” and “critical thinking.”

It’s important to understand why I’ve targeted JavaScript and not PHP nor Perl, for example. The latter languages are in decline, but JavaScript is metastasizing into nearly every corner of IT, much to my consternation. The fact that JavaScript’s incursion into these areas is rather limited does not obviate the dangers.

You regard my facts as “trite,” but critical thinking will reveal them as major harbingers of risk in any kind of serious software engineering practice. Although I don’t present all the facts in one place (they permeate my blog) because I’m trying to avoid writing a 20,000 word treatise, if you look at the lists of problems related to JavaScript, it’s clear that the language is very sloppy and undisciplined. If you’re honest with yourself, you’ll agree with me.

What bothers me is that the people who love JavaScript have blinders on so that they dismiss my article as “a poorly written opinion piece from someone who isn’t a JavaScript developer” and making claims from “a position of obvious ignorance.” “Stupid article,” one commenter wrote. “Clickbait trash,” said another. Nevertheless, they don’t offer a cogent counterpoint. How can they? The facts I present are the facts. That’s why I say they’ve “drunk the Kool-Aid.”

Look, I’m sure you’re a very competent JavaScript developer. You write lots of good JS code. But many people write good PHP and Perl code, too. That isn’t my point. My point is that JavaScript makes it particularly easy for “common” programmers to get into trouble. By its very nature, the language invites this. Yes, it’s a matter of degree; you need not remind me that people can get into trouble with Java and C#, too. But JavaScript is in a class all its own.

And it’s the common programmers I’m concerned with. Every language has its star developers, but it’s important not to overlook the second or third stringers on your development team. This philosophy, and the intense focus on practical software engineering, are what motivated Google to create the Go language (see The Little Language That Could). JavaScript is a dangerous language because in the hands of lesser programmers, it leads to lots of bad software. And I mean lots! Need proof?

Just look at all the bad JS code that riddles the JavaScript ecosystem.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store