Alan Kay & the Vision at Xerox PARC

Smalltalk

Chapter 2 · Alan Kay & the Vision at Xerox PARC

smalltalk1-1 closed on a question: what kind of computing environment does a motivation of "learning and creativity," rather than simulation, actually produce? This chapter is the answer — and it starts somewhere unexpected for a programming language: biology.

Alan Kay's Background — Biology, Not Just Computer Science

Kay's own influences reached well beyond computer science. A documented, genuine influence was biology — specifically, the image of a cell as a self-contained unit, enclosed by its own membrane, communicating with other cells only by passing signals across that boundary, never by reaching directly inside another cell to manipulate its internals. That's not a loose metaphor tacked on after the fact — it's close to the literal conceptual seed of "objects sending messages to each other," as opposed to "programs calling functions that reach into shared data."

Two other influences matter here too: Ivan Sutherland's Sketchpad, an early interactive graphical program that showed computing could be direct and visual rather than batch-processed; and Seymour Papert's work with LOGO, exploring how children learn through direct, hands-on manipulation rather than abstract instruction.

The Dynabook — A Personal Computer for Children

Around 1972, Kay proposed the Dynabook: a portable, personal computer meant to be usable by children of all ages, for creative expression — not business computation. At a time when computers were still enormous, expensive, institutionally-shared machines, the idea that a single person — let alone a child — might have their own personal computer was genuinely far ahead of the hardware that actually existed.

The Dynabook was never built as physical hardware in that era — the hardware to truly realize it wouldn't exist for another decade or more. But it set the design goal Smalltalk itself was built to serve: the software environment a Dynabook would need, something a child could pick up, explore, and build things in directly, with no real gap between using the computer and programming it.

Smalltalk Built Specifically to Realize That Vision

This is the structural difference from Simula, worth stating plainly: Simula's objects were a feature serving simulation modeling. Smalltalk's objects were the foundation of an entire environment, designed from the ground up to be approachable, explorable, and directly buildable by a child. Every later chapter in this course — the live "image" (smalltalk1-4), the class browser as a live-editing tool — exists specifically because of this goal: a live, inspectable, directly-manipulable system, not a batch-compiled black box.

Worth being honest here too: "Smalltalk" was not one single design delivered fully formed. It went through several real iterations at PARC over most of a decade — Smalltalk-71, Smalltalk-72, Smalltalk-76 — culminating in Smalltalk-80, the version whose public documentation is what made the language widely known and historically influential.

Not a solo project
Kay's own group at PARC included other significant, credited contributors — Dan Ingalls and Adele Goldberg most notably — whose own work was central to actually building and documenting what Smalltalk became. Treating Smalltalk as a single "great man" invention flattens a genuinely collaborative research effort into a simpler story than what actually happened.

Coining "Object-Oriented Programming"

Alan Kay is credited with coining the actual term "object-oriented programming," specifically to describe what Smalltalk was doing. Worth being honest about a real, documented tension: Kay has since said the term went on to become associated with things he didn't originally mean by it — a gap between his own original intent and how most working programmers understand "OOP" today.

A thread this course returns to
This gap between Kay's original intent and today's common understanding of "OOP" is not a footnote — it's a genuine throughline this course comes back to directly, especially in smalltalk1-3 (the full "everything is a message" philosophy Kay actually meant) and smalltalk1-7 (why the language embodying that original, fuller vision lost out commercially to languages that adopted a narrower slice of it).

Why This Context Matters for Everything That Follows

smalltalk1-1 closed by noting that every OOP language on this site inherited something from this lineage. This chapter sharpens that point: most of them inherited a narrower slice of Kay's original vision specifically — classes and inheritance as a code-organization tool — rather than the full, radical "everything is a message, sent to a live, directly-manipulable object" philosophy Smalltalk was actually built around. smalltalk1-3 goes fully into that fuller philosophy next.

Reflection Questions

Question 1

Kay drew on a biological metaphor — cells communicating across a membrane rather than reaching into each other's internals. In a language you already know, where does this idea show up (or fail to show up) as an enforced rule, rather than just a convention programmers are expected to follow voluntarily?

Question 2

The Dynabook was never built in Kay's own era, yet it still shaped Smalltalk's entire design. What does this suggest about the relationship between a concrete, even unrealized, design goal and the actual technical decisions a language ends up making?

Question 3

This chapter claims most modern OOP languages inherited "a narrower slice" of Kay's vision. Before reading Chapter 3, speculate: what part of that vision do you think got left behind, and why might that specific part have been the hardest to carry into languages built for more conventional, file-based, compiled workflows?

Chapter 2 Key Takeaways

  • Kay's own influences included biology (cells communicating via messages, not internal access), Sketchpad, and Papert's work with children and LOGO
  • The Dynabook — a personal computer for children, proposed c. 1972 — was never built physically but set Smalltalk's own design goal
  • Smalltalk's objects were the foundation of an entire environment, not a feature bolted onto simulation modeling (unlike Simula 67)
  • Smalltalk iterated substantially (71, 72, 76) before Smalltalk-80 made it widely known
  • Dan Ingalls and Adele Goldberg were significant, credited co-creators — not a solo Kay project
  • Kay coined "object-oriented programming" — and has since said the term outgrew his own original meaning