T1

Smalltalk-80 — The Canonical Object-Oriented Language

Xerox Alto — the PARC workstation on which Smalltalk was developed and run (Computer History Museum)
SourceThe wub (Wikimedia Commons) · CC BY-SA 4.0 · View on Commons ↗

Metadata

Date
Decade
1980s
Tier
T1
Sources
07
Connections
06

Smalltalk is an object-oriented programming language, and the development environment it lives in, created in the 1970s at Xerox's Palo Alto Research Center (PARC). Alan Kay led the vision; Dan Ingalls wrote the first implementation and designed later versions; Adele Goldberg led the documentation and release outside PARC. After Smalltalk-72 and Smalltalk-76, the version prepared for distribution beyond PARC took shape in 1980 as Smalltalk-80. Four companies were invited to review its specification in August 1980, BYTE magazine introduced it widely in August 1981, and Version 2 was released under a general licence in 1983.

Smalltalk's defining trait is consistency: everything, down to a lowly integer, is an object, and computation happens by sending messages to objects. This article traces where that design came from and how it left PARC.

Version / dateWhat happened
c. 1972Ingalls implements Kay's one-page language; Smalltalk-72 follows
1974Smalltalk-74 (FastTalk)
1976Smalltalk-76, designed by Ingalls
1979PARC demonstrates Smalltalk to Steve Jobs and other Apple engineers
August 1980Apple, DEC, HP and Tektronix are invited to review the Smalltalk-80 specification
August 1981BYTE publishes its Smalltalk-80 issue
1983Goldberg and Robson's book; Version 2 under a general licence

A bet about one page

In The Early History of Smalltalk, written for ACM's HOPL-II conference in 1993, Kay starts with a PARC hallway conversation. Talk turned to how large a language would need to be to have great power, and Kay asserted that you could define the "most powerful language in the world" in "a page of code". His model was John McCarthy's Lisp, whose self-describing interpreter was about a page long. For two weeks he worked on the problem at PARC from four to eight every morning, and by around the eighth morning had a version that seemed to work.

A few days later Ingalls showed him the scheme running on the Nova. He had coded it up in BASIC, Kay recalls, adding details such as a token scanner and a list maker. It evaluated 3+4 very slowly, "but the answer always came out 7". Over the next ten years Ingalls made at least 80 major releases of various flavours of Smalltalk.

Kay set out the thinking behind Smalltalk-72 as a short list of principles.

PrincipleMeaning
Everything is an objectNumbers, strings and classes alike are objects
MessagesObjects communicate by sending and receiving messages, which are themselves objects
Own memoryEach object has its own memory, made of objects
ClassesEvery object is an instance of a class, and the class is itself an object
Shared behaviourThe class holds the behaviour its instances share

The idea had ancestors. In the preface to their 1983 book, Goldberg and David Robson write that Smalltalk-80 is based on ideas from the Simula language and on the visions of Kay, "who first encouraged us to try to create a uniformly object-oriented system".

Growing up on the Alto

Smalltalk grew up on PARC's personal computer, the Alto. Kay's goal was the Dynabook, a notebook-sized personal computer that children could use; the Alto was its interim stand-in. Smalltalk-74 added major improvements to Smalltalk-72, including a real messenger object and message dictionaries for classes, and with Smalltalk-76 the language reached its modern form.

In 1979 Steve Jobs, Jef Raskin and other technical people from Apple visited PARC for a demo. In Kay's account, Jobs said he did not like the way the display scrolled; in less than a minute Ingalls found the methods involved, changed them, and the scrolling was continuous. The visitors, especially the programmers, were shocked: they had never seen a really powerful incremental system before.

Smalltalk-80: out of PARC

According to Kay, Goldberg decided to drive the documentation and release of a new Smalltalk that could be distributed widely, almost regardless of hardware. Only a few changes were needed to make a releasable system, but one was ironic: the custom fonts that had been a hallmark of PARC culture went back to standard ASCII characters. Peter Deutsch later said this met with heated opposition inside the group but proved essential for the system's acceptance in the world.

Goldberg and Robson's preface records that in August 1980 several hardware manufacturers were invited to review the draft of their second attempt at a book about Smalltalk: Apple Computer, Digital Equipment Corporation, Hewlett-Packard and Tektronix. PARC hoped the reviewers would think about hardware designed for Smalltalk-like systems, because the machines then on the market lacked the power its goals needed.

CompanySome of the reviewers and implementors named in the preface
AppleRick Meyers, David Casseres
DECStoney Ballard, Eric Osman, Steve Shirron
Hewlett-PackardAlec Dara-Abrams, Joe Falcone and others
TektronixPaul McCullough, Allen Wirfs-Brock and others

Each set of reviewers implemented the system at least once to test the specification of the Smalltalk-80 virtual machine, and the Tektronix team sent detailed reviews on audiotape. McCullough's account of the Tektronix implementation describes bringing up successive virtual images from Xerox while debugging both their own implementation and the formal specification.

BYTE in 1981, general release in 1983

In August 1981 BYTE devoted most of an issue to Smalltalk-80, with a readers' guide by Goldberg, Ingalls's "Design Principles Behind Smalltalk", Larry Tesler on the environment and Glenn Krasner on the virtual machine, among others. Ingalls wrote there that "The transmission of messages is the only process that is carried on outside of objects", and compared the uniform metaphor of Smalltalk — communicating objects — to Lisp's linked structures and APL's arrays. Every object, even a lowly integer, has a protocol of messages it can respond to.

According to Wikipedia, Xerox distributed Version 1 only to the four companies, and in 1983 released Version 2 to the public, under a restrictive licence. Goldberg and Robson's Smalltalk-80: The Language and its Implementation was published the same year.

Afterwards

Smalltalk left more than a language. It presented object orientation as a system of classes, inheritance and messages, and took automatic memory management by garbage collection for granted. Bjarne Stroustrup lists Smalltalk among the languages he considered as sources of ideas for C++, and Lars Bak, who led the V8 engine that transformed JavaScript's performance, built on experience with Smalltalk virtual machines; see C++ and JavaScript.

Its place among its contemporaries is on the programming-languages timeline, and the man behind the vision is on Alan Kay.

Questions this page answers

What is the Smalltalk programming language?
An object-oriented language and environment created at Xerox PARC in the 1970s. Everything, down to a lowly integer, is an object, and computation happens by sending messages to objects. The widely distributed version is Smalltalk-80, released for general licensing as Version 2 in 1983.
Who created Smalltalk?
The Learning Research Group at Xerox PARC, renamed the Software Concepts Group in 1981. Alan Kay led the vision, Dan Ingalls wrote the first implementation and designed Smalltalk-76 among others, and Adele Goldberg drove the documentation and release of Smalltalk-80.
When did Smalltalk-80 leave Xerox PARC?
In August 1980 Apple, DEC, Hewlett-Packard and Tektronix were invited to review a draft of the specification, and each implemented the virtual machine to test it. BYTE's special issue of August 1981 introduced it widely, and Version 2 was released under a general licence in 1983.

Sources

  1. PrimaryGoldberg, A. & Robson, D. (1983). Smalltalk-80: The Language and its Implementation — preface (free online edition)

    The August 1980 review by four companies and their virtual-machine implementations, the LRG-to-SCG rename, and the debt to Simula and Kay

    Accessed 2026-10-05

  2. PrimaryKay, A. C. (1993). The Early History of Smalltalk. ACM HOPL-II (online edition)

    The Smalltalk-72 principles, Ingalls's first implementation, the 1979 demo for Apple, and the move to Smalltalk-80

    Accessed 2026-10-05

  3. TertiarySmalltalk — Wikipedia

    Accessed 2026-10-05

Last updated:

Share