Recently, I was asked this question by a curious reader:
There are so many programming languages fighting for attention. What does Smalltalk have going for it that makes it worthy of such fervent advocacy? Why are you a Smalltalk evangelist?
First, Smalltalk has a rich heritage. It has been incredibly influential in the IT industry and continues to be influential.
Second, Smalltalk has been commercially used for over three decades. It’s not some esoteric, academic language but a truly practical, industrial tool.
Third, Smalltalk has a solid educational foundation. It’s possibly the best instructional language for teaching programming there is, especially object-oriented programming.
Fourth, Smalltalk is beautifully simple and elegant making it extremely easy to learn. It virtually has no syntax! Qualitatively, it’s rather like Scheme or Forth or Logo.
Fifth, Smalltalk has a reputation for being one of the most productive programming languages in the world. This is backed up by research.
Sixth, Smalltalk continues to be actively developed, especially through the Pharo project and Inria. And through the Amber project for the web. Smalltalk has been modernized for the Twenty-First Century.
Seventh, Smalltalk has a unique “live coding and debugging” IDE that is largely responsible for its incredible productivity. This feature is unmatched by anything in mainstream programming. While IDEs such as Visual Studio and Eclipse have tried to incorporate live coding, they fail to be as easy and elegant as Smalltalk.
Smalltalk also allows for persisting execution state (and resuming at a later time). This is wonderfully convenient for maintaining the continuity, and hence the high velocity, of development.
All of these provide fantastic marketing ammunition. They boost my confidence in conducting a successful branding campaign for Smalltalk. There is not another language for which I could mount as strong a campaign. Not Elixir. Not Julia. Not Rust. Not Kotlin.
And that’s why I’m a Smalltalk evangelist.