I have to say, I like you.
Richard Kenneth Eng

Interestingly, Alexei Boronine wrote a blog post 3 years ago called, “Why JavaScript Still Sucks” that echoes my sentiments…

I think the root of the problem with modern JavaScript and the main reason that the language still sucks lies in a certain sentiment of the JavaScript community, the sentiment that JavaScript was a good language all along, it was just a misunderstood language. Um, no. JavaScript was a premature bastard baby, raised by frickin’ wolves. Stop defending JavaScript as a language and start embracing JavaScript as a platform, and as a compilation target.

I love his comment on JSLint, the crutch that everybody relies on…

As if being a JavaScript developer wasn’t painful in itself, JSLint comes and adds insult to injury. I imagine linting JavaScript as an embarrassing punishment in some kind of coding boot camp, akin to cleaning the toilet with a tooth brush. In fact, I think I would literally shave a yak instead.

His prescient conclusion?

One thing I am ready to bet on: the winner will be a compile-to-JS language. We aren’t ready for a transition yet, but we are making progress and even though many efforts diverge, they all pave the way for the future of the web. Regardless of which language wins in the end, I want to emphasize my main point: JavaScript as it stands today is painfully inadequate, we need to embrace the need for a new language and push forward!

Three years on, I believe the world is ready for transpiled languages. There are many to choose from, but I believe some of the most interesting ones are Amber, ClojureScript, GopherJS, Cor and Elm.

Of course, you can always use your favourite mainstream languages such as Python (look at Transcrypt or Brython) or C++ (look at Cheerp or Emscripten) or Java (look at GWT) or Ruby (look at Opal). Whether it’s an old, established language or an exciting newcomer, just about anything is better than JavaScript.