It's not that I hate JavaScript...

...it's that it's been forced upon me.

Anyone who’s followed me for more than about 15 minutes knows that my main programming language is Go. But I also do some JavaScript.

What? You’re not surprised?

Of course you aren’t.

Why not?

Because EVERYONE does some JavaScript.

And that’s my problem.

Now, I don’t like JavaScript. You might even say I hate JavaScript. But that’s not interesting. There are many things I hate. And you don’t care about those, either.

So the problem with JavaScript, as I see it, isn’t that I don’t like it.

The problem with JavaScript is that it has, essentially by accident, been forced upon the entire unwitting world, without asking permission.

I mean, it’s the only language natively supported by the most ubiquitous runtime in the world: the web browser. And even WebAssembly is not in any realistic position to displace it there. If you want to interact with the DOM, you’re still going to be using JavaScript, for the forseeable future.

“Yeah, but I don’t do frontend develpment!” somneone will say. Great! Me, either. But I still have to contend with JavaScript… because… you know… JSON.

JSON is both wonderful and terrible at the same time. And I won’t go into all my reasons for saying that. The point is, again… that it’s been thrust upon an unwilling world.

That’s what most annoys me about JavaScript.

It’s that I’m forced to use it, or at least be concerned with some of its implementation details, whether I want to or not.

No doubt there are other languages I hate even more, for specific objective and subjective reasons. But I don’t have to use those languages. So I don’t care! Nobody’s forcing me to care about Lua’s floating point precision on a daily basis. Nobody makes me write pickle formatted data just to be considered “respectable”. Nobody chides me for not using Erlang-style key names in my API.

End of rant.

Share this