The advantages of full-stack single-language web development are way overblown. Most developers (myself included) have absolutely no problem with using different languages between front and back ends. It’s been this way for years and years.

I favour using Amber Smalltalk on the front-end, but you could choose from any number of excellent transpiled alternatives, such as ClojureScript, Dart, Elm, Haxe, Scala.js, and Transcrypt (Python).

I favour Go and Python on the back end, but there’s a whole universe of great alternatives here, too. I see no reason why anyone should disregard the tried-and-true maxim: “Always choose the best tool for the job.”

I see no reason why anyone should choose a clearly inferior language just so you can avoid using two languages in the same software project. This nonsense of code sharing and not having to switch mental context between front and back ends is just that: nonsense.

People have been using multiple languages for client/server applications for decades. Being polyglot has never been an issue. I don’t know of any developer who isn’t proficient in several programming languages. (Though I suspect there are some…especially those idiot graduates from JavaScript-only bootcamps.)

Look, I get it. JavaScript is the only native language in the web browser. We have no choice but to use it. But let’s not pretend that JavaScript isn’t a crap language.

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