Artful Computing

Smalltalk

There is only one reason to talk about Smalltalk here: it is the language which served as the platform for developing the concepts of object-oriented programming. The core of the language is very small, but you use the language to extend itself and its support environment. Working in Smalltalk required a very pure object-oriented mindset and learning the language is a very good educational experience for that reason. (Once, again, it was part of my Open University Masters programme.) Many of the concepts that underlie the Java libraries and C++ tools libraries come from the Smalltalk programming environment, where they can be appreciated in their purest and simplest form.

Smalltalk is good for rapid application development and also good for graphical simulation. At one point, during the 1990s, Smalltalk looked like it might take off as the favoured "rapid application development" language for financial institutions who needed to produce dependable but sleek systems into the hands of market traders as quickly as possible. It never happened, perhaps because Java came along. (With its C/C++ like syntax many programmers already experienced in these languages preferred to move in that direction and once the herd instinct started to operate everyone had to follow.) I partly regret this because it seemed to me that a Smalltalk program was easier to understand (and so be sure it was right) when compared to a Java program.

Learning Smalltalk develops the conceptual thinking skills that support good object-oriented programming, and computer science students may still be required to learn it for that reason. It probably has niche status these days, though there is still a loyal following and active development of the language environment.

Breadcrumbs