In my long career in IT, I’ve used many different programming languages (principally C, but also FORTRAN, Tandem TAL, C++, C#, Smalltalk, Objective-C, Java, Python, and Go). I’ve learned to dislike languages that are syntactically complex and verbose. I’m drawn to languages that are syntactically clean and simple, whose code is easy to read. Today, my three favourite programming languages are…
I use Python only because web2py is easily the best server-side web framework I’ve ever encountered. The full-stack, fully self-contained web2py makes it so quick and easy to whip up a web application. And web2py is very easy to learn.
(Python 2.7 is required for web2py; Python 3 is not supported.)
This language is syntactically very simple, blazingly fast to compile, and blazingly fast to execute. And it excels at concurrent programming. I would use Go wherever Java is called for. Beego is also a very good web framework (despite resistance to Go web frameworks), though it has some ways to go before it is as mature and polished as web2py.
This is the language I want to use most of the time. It’s fun, very simple and elegant, highly extensible, and very productive. And it’s fun. I especially like Amber, the Smalltalk dialect designed for the web. I shall use it for writing my client-side web apps, as well as cross-platform mobile apps.
This is why I advocate so strongly for Smalltalk.