Alan Kay and Smalltalk
Zusammenfassung
Alan Kay had a vision of computing that was more ambitious than any product he ever shipped: the Dynabook, a tablet computer for children that would serve as a “dynamic medium for creative thought,” transforming education the way printing had transformed literacy. He spent his career at Xerox PARC, Atari, Apple, and Disney building approximations of this vision, producing along the way the programming language Smalltalk — the most complete realization of object-oriented programming ever built — and influencing virtually every graphical user interface that followed. He received the Turing Award in 2003. He later said that what the industry had learned from his work was the wrong things.
Utah and the Dynabook Vision
Alan Curtis Kay was born on May 17, 1940, in Springfield, Massachusetts. He grew up in New York and Australia, where his father’s work took the family. He studied biology and mathematics at the University of Colorado (BA 1966) and pursued graduate work in computer science at the University of Utah, receiving a PhD in 1969.
Utah was one of the centers of early computer graphics research — led by Ivan Sutherland (who had created Sketchpad at MIT in 1963 and joined the Utah faculty in 1968) and David Evans, the department was building some of the first interactive graphical systems. Kay absorbed the idea that computers could be graphical, interactive, and personal. He was also deeply influenced by the ideas of Seymour Papert (constructionist education at MIT), J.C.R. Licklider’s 1960 paper “Man-Computer Symbiosis,” and Douglas Engelbart’s augmentation work.
In 1968, while still a graduate student, Kay described the Dynabook — a personal computer for children, roughly the size of a notebook, with a graphical interface, a programming environment simple enough for a child to learn, and enough storage and processing power to serve as a universal medium for knowledge. The machine Kay described in 1968 was essentially the iPad — four decades before it existed.
The Dynabook was not a product proposal. It was a research target: a vision sufficiently concrete to direct effort and sufficiently ambitious to require real breakthroughs.
Xerox PARC and Smalltalk
Kay joined Xerox PARC in 1972 and founded the Learning Research Group, which had a specific mandate: build the Dynabook, or get as close to it as current technology allowed.
The first problem was programming. A computer for children needed a programming system that children could use — not FORTRAN, not assembly. Kay needed a language in which the fundamental concepts were simple enough to grasp quickly and powerful enough to express real programs.
His design was Smalltalk — a language in which every entity, without exception, was an object, and objects communicated exclusively through message passing. Numbers were objects. Strings were objects. Classes were objects. The control structures — if-then, while, for — were implemented as messages to Boolean and collection objects, not as built-in syntax.
"Smalltalk — everything is an object, everything is a message"
| x |
x := 5. "x is an Integer object"
x printString. "send message printString to x"
x > 3 "sends message > 3 to x, returns true"
ifTrue: ['big'] ifFalse: ['small']. "message to Boolean"
"Classes defined in the language itself:"
Object subclass: #Animal
instanceVariableNames: 'name'
classVariableNames: ''
poolDictionaries: ''
category: ''.
Animal >> speak [
^'...'
]Smalltalk was not just a language — it was a complete computing environment (the “image”): the programming tools, the debugger, the file browser, the GUI framework were all written in Smalltalk, running within Smalltalk, modifiable from within Smalltalk. You could inspect and modify the system while it was running. The boundary between language and operating system effectively disappeared.
Messaging vs. Classes
Kay later insisted that messaging — not classes or inheritance — was the central idea of Smalltalk and object-oriented programming. “The big idea is ‘messaging,’” he wrote in a 2003 email. “The key in making great and growable systems is much more to design how its modules communicate rather than what their internal properties and behaviors should be.” He considered C++ and Java to have missed this point, focusing on classes and inheritance while neglecting the communication architecture.
The Alto, the GUI, and the Legacy
The Alto — Xerox PARC’s prototype personal workstation — ran Smalltalk. The Alto’s graphical interface, its windows, its mouse-driven interaction were developed by Kay’s group alongside Smalltalk. When Steve Jobs visited PARC in 1979 and saw the Alto demonstration, what he saw was largely the output of Kay’s group: the GUI, the overlapping windows, the bitmap display.
The Macintosh and every GUI-based operating system since descends from the work Kay’s group did at PARC. Kay later reflected on this inheritance with mixed feelings — the industry had adopted the visual metaphors (windows, icons, menus) while largely ignoring the deeper ideas about computing as a medium for thought, education, and intellectual amplification.
Atari, Apple, Disney, and Squeak
Kay left PARC in 1981 to join Atari’s research division, working on educational software. When Atari collapsed, he became an Apple Fellow in 1984 — where he worked on HyperCard’s conceptual antecedents and on educational computing projects. He moved to Walt Disney Imagineering in 1996 and founded the Viewpoints Research Institute in 2001, devoted to building computing systems for education.
Throughout this period, Kay continued developing Smalltalk variants. Squeak (1995), developed with Dan Ingalls and others at Apple then Disney, was an open-source Smalltalk implementation that ran identically on Mac, Windows, and Unix. Etoys (1996) was a children’s programming environment built on Squeak. Scratch, the visual programming language for children developed at MIT and now used by millions worldwide, is a direct descendant of Etoys and Kay’s Dynabook vision.
Kay received the Turing Award in 2003 for “pioneering many of the ideas at the root of contemporary object-oriented programming languages, leading the team that developed Smalltalk, and for fundamental contributions to personal computing.”
Dead End: Smalltalk as Industry Language
Smalltalk never became an industry mainstream language. It was used in research, in some financial systems (VisualWorks on Wall Street), and in education, but the mass market went to C++, Java, Python, and JavaScript — languages that adopted Smalltalk’s surface features (classes, inheritance) while discarding the message-passing semantics and the live programming environment that Kay considered essential.
Why Smalltalk Lost
Several factors combined: Smalltalk’s image-based persistence model was unfamiliar to developers accustomed to files and compile-link-run cycles; early implementations required specialized hardware; commercial Smalltalk vendors (Smalltalk-80, VisualWorks) were expensive; and C++ arrived as a “good enough” object-oriented language for the existing C programmer community without requiring a conceptual leap. Kay’s diagnosis was different: the industry was not interested in the kind of computing he was building toward, only in incremental improvements to what existed. The Dynabook, in his view, has never been built.
The PARC context is covered in The Xerox PARC Revolution. The OOP revolution Smalltalk helped launch is traced in The OOP Revolution.
📚 Sources
- Kay, Alan C.: “The Early History of Smalltalk” — ACM SIGPLAN Notices, Vol. 28, No. 3 (1993)
- Kay, Alan C.: “A Personal Computer for Children of All Ages” — Proceedings of ACM National Conference (1972)
- Kay, Alan C. & Goldberg, Adele: “Personal Dynamic Media” — IEEE Computer, Vol. 10, No. 3 (1977)
- Goldberg, Adele & Robson, David: Smalltalk-80: The Language and Its Implementation (1983), Addison-Wesley
- Markoff, John: What the Dormouse Said: How the Sixties Counterculture Shaped the Personal Computer Industry (2005), Viking