And as if that wasn’t remarkable enough, Smalltalk also did object orientation. At a time when almost all other programmers were using ‘procedural’ languages such as C, Pascal, COBOL and BASIC, Smalltalk programmers were creating objects that sent messages to one another. To say that it was ahead of its time is an understatement.
Fast-forward to today. The world of computing has changed beyond recognition. We all use graphical user interfaces and almost all modern programming languages use some form of object orientation. I say “some form” because in most cases the simple, elegant ideas of Smalltalk have been adapted and, arguably, spoiled. And people who use the object orientated features of these languages may be missing out on some of the big ideas. Programmers of Java, Ruby or C++ may understand classes and hierarchies but often they have little idea of ‘black box encapsulation’ or ‘message passing’. If you really want to understand object orientation in its neatest and purest form, go and learn Smalltalk.
As I said earlier, Dolphin Smalltalk is a beautiful implementation. On the Windows platform it is certainly my favourite. The only trouble is that it has always been a bit expensive. Not any longer. A few months ago, it was made free and open source. Now I am ambivalent about that. On the one hand, I think it’s sad that the demand for a high-quality Smalltalk system was not sufficient to allow the developers to continue with Dolphin Smalltalk as a commercial product. But on the other hand there can be no doubt that this is great news for those people who might be interested in trying Smalltalk but not sufficiently interested to take a risk in stumping up the cash to buy it. At any rate, take it from me that Dolphin Smalltalk is a terrific product and if you are a Windows programmer you should do yourself a favour and grab a copy.
Download Dolphin Smalltalk HERE.
Incidentally, if you are not using Windows there are also some good free Smalltalk systems for other platforms. The two I’d recommend are Squeak and Pharo.
For more on Dolphin Smalltalk, see my short tutorial HERE. I also have a number of other articles on Smalltalk language and history HERE.