Good software engineers can use any tool to good effect. The problem is, there are millions of software engineers employed today. How many of them are as “good” as you allude to? In the real world, we have to deal with real problems of software engineering. This is why Google, for example, created the Go language. They needed to manage the complexity of writing massive server software by teams of programmers of varying levels of experience. So they designed Go with the strict objectives of simplicity and clarity, minimizing cognitive burden, and removing language features deemed counterproductive. The result has been widely accepted by the IT industry, as evidenced by its recent rapid rise in popularity.

It is quite clear why Java, C#, Python, and C++ have been the mainstay of software engineering for so many years. These are solid languages. They’ve been proven again and again. They are reliable; they are trusted.

Bad code can be written in any language, but good code is best written in well-designed languages. By “best,” I mean without too much fuss and bother. I mean safely and reliably. It’s too easy to trip over JavaScript.

By the way, I’m a huge fan of dynamic languages. I like Python, and I am especially fond of Smalltalk, which I’ve advocated for most staunchly. JavaScript, on the other hand, is an atrocious 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