The Evolution of Smalltalk from Smalltalk-72 through Squeak
The Evolution of Smalltalk from Smalltalk-72 through Squeak Dan Ingalls and Ted Kaehler with simulations by Dan Ingalls and Bert Freudenberg DanHHIngalls@gmail.com, Ted-all@Legenda.com, Bert@Freudenbergs.de
ABSTRACT The evolution of the Smalltalk language, and the systems that grew around it, trace an interesting arc in the history of computer science. Beginning with Alan Kay’s passion for education, it led us to the paradigm of object-oriented programming in a form so pure and simple that children could understand it. Enchanted by its simplicity and power, we then focused on an integrated development environment that later changed the face of commercial software development. Finally, in a rededication to education, we turned the language back on itself to produce Squeak, the self-supporting Smalltalk that spawned EToys and Scratch.
The arc is of interest, because it is offers an opportunity to see a number of relatively constant values in the service of rather different goals. Among these values are: to keep things small and simple; that children be able to understand and use the system; that the system be always “live”; that it always respond promptly; that it be as good at describing graphics and sound as it is at text and numbers; and that work in progress remain intact, even when you turn off your computer.
Much of this history has been obscured from general observation because the early systems only ran on proprietary Xerox hardware. Even those that are externally available require a fair amount of machine-specific downloading and installation.
This paper assembles such historical artifacts as still exist from the project, and brings them to life in simulation so that example code can be viewed and executed directly in this paper with no need to locate or install the systems of the past. The reader can thus experience the strengths and weaknesses of each generation that inspired the design of the next. In each case we offer a narrative that ties the generations together as well as we can remember. The simulations include:
Smalltalk-72, the original Smalltalk language conceived by Alan Kay. It was its own parser, and was thus uniquely suited to exploring object-oriented programming.
Smalltalk-74, a refinement that reduced the number of primitive objects and operations.
Smalltalk-76, a new compilable language that preserved the simple message-sending metaphor. Its keyword syntax and virtual machine architecture endure in the Smalltalks of today.
Smalltalk-78, a more efficient redesign of Smalltalk-76 for the 8086 microprocessor.
Smalltalk-80, a cleanup of Smalltalk-76 and -78 led by Adele Goldberg. The Smalltalk books, attention to documentation and standards fueled wide adoption of this Smalltalk.
Squeak, a recreation of Smalltalk that turned its descriptive power back on itself to provide a compact and efficient and marvelously portable scriptable media environment.
We conclude with some observations about the value of real-life usage to language design, and the importance of long-term support to good research.
Just as each generation of Smalltalk had a certain “personality”, so also do the simulations that bring them back to life in this paper. The simulations are described (and run) as appendices to the paper.
Mon 21 JunDisplayed time zone: Eastern Time (US & Canada) change
18:15 - 21:00
|programmingLanguage as Language;|
|The Evolution of Smalltalk from Smalltalk-72 through Squeak|
Daniel Ingalls NoneDOI