Smalltalk - history and technology

A bit of technology

Smalltalk runs on a virtual machine (VM) -- an abstract computer -- that can be implemented on different platforms. A Smalltalk program is compiled for this abstract computer and is thus independent of the target platform. Since the virtual machine also provides the platform resources in an abstracted form, a Smalltalk program can be run in binary form on all platforms with a matching virtual machine. The technology of virtual machines can be traced back to Peter Landin's SECD Machine for LISP, which was designed at the beginning of the 1960s. As early as 1983, the Smalltalk group at PARC added the JIT (just in time compilation) technique to the Smalltalk virtual machine to make it run efficiently on common computers (on a Motorola 68020 system). This was the first implementation of an implicitly typed, dynamically compiled system with late binding.

The concept of a virtual machine and the pure object orientation of Smalltalk allows an automatic management of the object memory. For this purpose, the Smalltalk VM has a so-called garbage collector, which automatically and efficiently detects which objects are no longer used and reuses the memory they used. 'Generation scavenging', the first truly performant algorithm for memory management, was first implemented in Berkeley Smalltalk and then incorporated into the second generation of virtual machines from ParcPlace Systems. This architecture is still in use today in VisualWorks.

What is so special about Smalltalk?

It is often said: "Smalltalk started it all". Smalltalk was the first consistently object-oriented language (and the second language with OO elements after Simula, for which the OO concepts were invented). Smalltalk was the origin or catalyst for today's workstations, mouse operation, windowing systems, interactive development environments, and many techniques such as VM and GC that are now used as a matter of course by Java and C#. This is all very interesting historically and you can read about it in the following sources:

"THE EARLY HISTORY OF SMALLTALK" by Alan C. Kay, in History of Programming.
Languages, Thomas J. Bergin and Richard G. Gibson, Eds. Addison-Wesley, ISBN 0-201-89502-1.

"The Community of Smalltalk" by Adele Goldberg, in Handbook of Programming.
Languages, Vol. 1. Object-Oriented Programming Languages, Peter H Salus, Ed. McMillan, ISBN 1-57870-008-6.

Adele Goldberg presents Smalltalk-80.

This cannot explain the enthusiasm for Smalltalk. This lies in the internal qualities of Smalltalk and its environment.

A short history of Smalltalk

Smalltalk was developed at the Xerox Palo Alto Research Center in the 1970s and 1980s. The language was designed to combine comprehensibility with expressiveness and flexibility. Use in local schools helped create a system that was both responsive (kids get impatient quickly) and fun to use (kids would not use it otherwise!).

In 1988, ParcPlace System was founded out of Xerox to commercialize Smalltalk. ParcPlace Systems merged with Digitalk in 1995 to form ParcPlace-Digitalk, and was renamed ObjectShare in 1997. In 1999, the VisualWorks technology was purchased by Cincom. In the process, Cincom took over the entire engineering team and pushed for substantial further development and implementation of new technologies from the Internet environment.