There are at least two important things we know for certain about the popular programming language JavaScript:

JavaScript is the native language in web browsers. Thus, we cannot escape from using it in web development. JavaScript has a great many “warts” and semantical inconsistencies, much more so than in other programming languages. It’s not only slightly worse than other languages; it is substantively much worse. So much so that a book had to be written to guide you through the “Good Parts.”

That being said, there is absolutely no solid rationale to directly program in JavaScript. The language can be used as a transpiler target for other languages that have a more solid foundation. In fact, there is an embarrassment of riches to choose from.

Here are several examples of transpiled languages and their best representative web applications…

Smalltalk is a pure object-oriented programming (OOP) language that has an impossibly clean and simple syntax. In fact, it is widely regarded as the grandfather of OOP languages having influenced numerous other OOP languages, and yet it remains fresh and modern today. With Amber, Smalltalk is ready for the web. (In Amber, JavaScript objects from JS libs are treated just like Smalltalk objects! How cool is that?)

Clojure is a dialect of Lisp (commonly regarded as the grandfather of functional programming, or FP, languages) that runs atop the JVM. It also has a clean and elegant syntax. ClojureScript gives Clojure a strong web presence.

Dart is Google’s failed attempt to overtake JavaScript, but it remains a good tool for web development.

Go is a concurrent programming language with a simple syntax and a minimalist, orthogonal and powerful feature set. Despite its controversial nature, it has recently become very popular. GopherJS lets you use this marvelous language for front-end web development. I strongly encourage you to install GopherJS and run the following web app to see how easy it is:

Haxe is a remarkable language that can transpile to several different platforms, including ActionScript 3, JavaScript, Java, C#, C++, and PHP.