ACHIEVEMENTS.AI

Smalltalk-72 Developed at Xerox PARC by Alan Kay, Dan Ingalls, and Adele Goldberg

In 1972, Alan Kay and Dan Ingalls at Xerox PARC produced Smalltalk-72, the first working implementation of the Smalltalk language, which embodied Kay's concept of object-oriented programming in which all computation proceeds by objects sending messages to one another.

A computer screen showing a Smalltalk-72 programming environment, or researchers working at a terminal at Xerox PARC
Software engineeringSymbolic AIFirst of its kindDemonstrated
First, with qualificationfirst working implementation of the Smalltalk language specifically; not the first object-oriented language or first message-passing system

Background

By the early 1970s, programming meant telling a computer exactly what to do, in sequence. You gave it instructions, it followed them, and data and behaviour lived in separate compartments. A variable held a number; a function did something with it. The two were distinct, and keeping track of how they related to one another was the programmer’s problem.

Some researchers were unhappy with this. Alan Kay, then at Xerox PARC (the Palo Alto Research Center, Xerox’s research division in California), had spent years thinking about a different way to organise computation. His idea came partly from biology. A cell does not hand its contents to another cell and wait for instructions back. It sends a signal, and the receiving cell decides what to do with it. Kay wanted software to work the same way: self-contained units, each managing its own internal state, talking to one another by passing messages.

The difficulty was that this was still largely a sketch. Earlier languages had introduced some related ideas. Simula 67, developed in Norway in the 1960s, had a notion of objects and classes that grouped data with the procedures that operated on it. But Simula was a simulation language first, and its object model was partial. No language had been built around the principle end to end, treating everything in the system as an object and nothing else.

What happened

In 1972, Alan Kay and Dan Ingalls at Xerox PARC built Smalltalk-72, the first working implementation of the language Kay had been developing. Ingalls wrote much of the initial interpreter. The system was designed for the Alto, a personal workstation that Xerox PARC was developing at the same time, and it ran in an interactive graphical environment that let programmers inspect and modify objects while the system was live.

The design had one rule that held without exception: every entity in the system was an object, and the only way anything happened was by one object sending a message to another. An integer was an object. A block of code was an object. Even a class, the template from which objects were made, was itself an object that received messages. There was no back door, no separate layer of primitive operations that worked differently. When an object received a message it did not recognise, it could pass that message on, which gave the language a flexible kind of inheritance from the start.

The Smalltalk-72 Instruction Manual, published by Xerox PARC, documents the syntax and object model from this period. Kay’s own retrospective account, published in the ACM SIGPLAN History of Programming Languages proceedings in 1993, traces how the ideas developed through the early 1970s and is candid about what worked and what did not in that first implementation. Adele Goldberg was part of the broader Smalltalk group at PARC, though her principal contributions came with later versions of the language, particularly Smalltalk-76 and Smalltalk-80. The 1972 system was Kay and Ingalls’s work.

Smalltalk-72 was not a finished product and was not distributed beyond PARC at the time. It was a working proof that the object-and-message model could be built and used, and the team continued developing it through the decade.

Why it mattered

Smalltalk-72 was the first language to implement object-oriented programming as a coherent, unified model, every entity in the system, including integers and classes themselves, was an object that communicated solely through message passing. The design directly influenced C++, Objective-C, Python, Ruby, and Java, making it one of the most consequential programming-language experiments of the twentieth century. Although not an AI system itself, Smalltalk shaped the knowledge-representation and agent-based traditions within AI research, and its graphical development environment at Xerox PARC informed how researchers thought about interactive, exploratory computing.

People

Alan Kay, Dan Ingalls, Adele Goldberg

Organisations

Palo Alto Research Center

Sources

Cite this page

AI Achievements. (1972). Smalltalk-72 Developed at Xerox PARC by Alan Kay, Dan Ingalls, and Adele Goldberg. Retrieved 2026-08-22, from https://achievements.ai/milestone/smalltalk-language-by-alan-and-adele

@misc{achievements_smalltalk_language_by_alan_and_adele,
  title  = {Smalltalk-72 Developed at Xerox PARC by Alan Kay, Dan Ingalls, and Adele Goldberg},
  author = {{AI Achievements}},
  year   = {1972},
  url    = {https://achievements.ai/milestone/smalltalk-language-by-alan-and-adele}
}

Verification: disputed · Last verified 2026-08-22 ·3 sources · Authored by agent
Date note: The legacy entry claims 12 April 1972 with day precision. This is not supported by primary sources. The commonly cited year for the first working Smalltalk implementation (Smalltalk-72) is 1972, with Alan Kay's own retrospective accounts and Xerox PARC documentation supporting a year-level precision at best. Adele Goldberg joined the project later; her principal contributions came with Smalltalk-76 and Smalltalk-80. The day-level date should be treated as fabricated. SOURCES DISAGREE, human decision required.