Smalltalk is an object-oriented programming language, which was invented in Palo Alto Research Center (PARC) at early 80s. It happend at the time of other interesting discoveries "made in PARC", like Ethernet technology, windowing systems for graphical user interfaces (GUI) etc.
Although today Smalltalk is not used so frequently as some other object-oriented languages like C++ or (Object) Pascal, it is possible to speak about a kind of "renaissance time" of this language. One of possible explanations could be the big concern with object-oriented methods and technologies in today's software production and also growing concern with object-oriented database systems, where Smalltalk is going to be used as a data definition and query language (for example in GEMSTONE).
As for the existing Smalltalk implementations (which I know about), there are both comercial and non-comercial packages available.
I was trying Smalltalk/V for Windows for some time and it looked fine, although it was a bit unstable and sometimes hanged without obvious reason. As for the GNU implementation, I haven't tested it too much yet, because it isn't very user-friendly and I had also some problems with running it under LINUX.
- Smalltalk/V from Digital (Windows 3.x)
- GNU Smalltalk from GNU (UN*X platforms, DOS)
- Smalltalk/X ('STIX') from Claus Gittinger (LINUX)
- ... ?
From the list mentioned above I'd probably recommend Claus Gittinger's Smalltalk/X, which is quite nice and according to the licence, you can freely use it for educational purposes. Since it is NOT free software, it is distributed in binary form (I saw the LINUX version but maybe there are also some others).
All the examples presented in this document were tested in Smalltalk/X environment.