I guess you didn’t read The Super Surrogates of JavaScript. Yes, I think transpilers can be the solution if we can’t get ECMA to really fix the problems. Personally, I use Amber Smalltalk, but there are other excellent choices, too. Brython (Python) is actually trying to replace JavaScript altogether through transpiling; it’s an intriguing strategy. If you like functional programming, then ClojureScript is terrific. I have my eye on ElixirScript, though it’s still some way from being production-ready; Elixir looks like a very nice language.

BTW, since TypeScript is a pure superset of JavaScript, it doesn’t actually solve the problem; you are still exposed to the Bad Parts of JavaScript. While you can, and should, exercise self-discipline, Louis Cyphre in another response made an incisive comment:

The key word here is “discipline.” Discipline can be used to write good software in any language, including assembly language. But that does not mean the language cannot be designed to aid, rather than hinder, the process. JavaScript’s Bad Parts are still there to challenge your discipline. By not actually removing them, the process of software development remains precarious. Are you sure you won’t falter?

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