Smalltalk
An early object-oriented language in which everything is an object and all computation is message passing.
31 steps across 1 tours, from the basics to complete programs.
The tours
- First released
- 1972
- Created by
- Alan Kay, Dan Ingalls, and Adele Goldberg at Xerox PARC
- Typing
- Dynamic and pure; the whole grammar fits on a postcard
- Snippets target
- Pharo 13
- File extensions
- .st
What it is for
Smalltalk is the language object-oriented programming is named after: built at Xerox PARC in the 1970s by Alan Kay's Learning Research Group, alongside the bitmapped GUI, overlapping windows, and the live IDE — inventions the rest of computing spent decades absorbing. The design is radically uniform: everything is an object, all computation is message sending, and conditionals and loops are not syntax but messages that booleans and blocks answer.
Its working environment remains unlike anything else: the image, a living snapshot of every object in the system, edited from inside itself with browsers and inspectors, where the debugger lets you fix a method and resume mid-exception. Modern practice centers on Pharo, an open-source descendant under active development, with Squeak carrying the direct Smalltalk-80 lineage and GlassDB/GemStone running it in industry; Cincom and instantiations serve long-lived commercial systems in insurance, shipping, and manufacturing.
Its influence outweighs its market share by an order of magnitude: Objective-C is C wearing its message syntax, Ruby borrows its blocks and object model, Java's VM and JIT lineage runs through Smalltalk implementations, and test-driven development plus the xUnit family began as SUnit. Learning it is learning the source code of half of modern programming culture.
Where it came from
Smalltalk-72 emerged from Alan Kay's vision of the Dynabook — personal computing for children — at Xerox PARC, with Dan Ingalls implementing the first version from a bet that a language could be defined in a page of code. Through the 1970s it evolved inside PARC alongside the Alto workstation, growing the GUI, the class browser, and the live-object environment as one artifact.
Smalltalk-80 was the public release: licensed to four companies, documented in Adele Goldberg's 'blue book', and famously shown to Apple — the demo that shaped the Lisa and Macintosh. The 1980s and 90s brought commercial Smalltalks (ParcPlace, Digitalk, IBM VisualAge) and serious enterprise adoption, until Java's arrival in the mid-90s absorbed much of that market — ironically, with IBM's VisualAge for Java built on Smalltalk technology.
Squeak (1996) reopened the lineage as open source, led by the original PARC crew; Pharo forked from it in 2008 with a cleaner, faster-moving vision and became the center of modern Smalltalk — annual releases, a research community across Europe and South America, and industrial users who never left. SUnit's descendants meanwhile made 'unit test' a universal term.
What it is like to type
Smalltalk types like written conversation: long keyword messages — at:ifAbsent:, inject:into:, do:separatedBy: — interleave with their arguments, so colons land constantly and camelCase runs long. Cascades chain with semicolons, temporaries declare between vertical bars, blocks open with a bracket and a colon-prefixed argument, and := does the assigning. Almost no other punctuation exists: no braces, no parens for calls, periods ending statements like sentences. The pace runs slower than C-family languages because the words are whole phrases — deliberate, legible typing.
31 steps across 1 tours, from the basics to complete programs.