Every week or so, somebody somewhere comes up with a new programming language. Most of the times, their makers reference Smalltalk as one of the most influential predecessors. And there is a steady flow of new Smalltalk implementations brewing in somebody’s basement. The last I’ve seen are Paul Gregory’s tumbleweed
Martin McClure’s Mist project
Mist is a project to create a Smalltalk dialect (or possibly a very Smalltalk-like language) that is implemented without a virtual machine, is implemented without depending on any other language, is simple, and is reasonably fast.
So what is it that makes people always come back to a programming language that is going to celebrate its 30th birthday of its publication next year?
My personal theses here are:
- Nobody has come up with something substantially better than Smalltalk as an all-purpose-language yet
- Dynamic typing shows its advantages in too many areas to make it irrelevant and Smalltalk still is one of the cleanest and most productive implementation of such a beast
- The rich tool set (Inspectors, Browsers, and the Debugger) of SmalltalkIDEs still is among the best you can get, even if newer IDEs have great tools. This is especially true when it comes to navigating your code (or better: your object zoo)
- Image based development is far better than it looks from the outside, once you’ve tried it. Don’t Eclipse and XCode emulate an image as close as they can?
- The combination of these (and maybe more) makes Smalltalk one of the most productive and change-friendly environments available
Isn’t it funny that an industry that regards a period of 3 years as an eternity and where a computer that is 12 months old is considered helplessly outdated, runs in circles around dinosaurs like Smalltalk?