What it is and the problem it solves
Smalltalk is a pure object-oriented language designed for constructionist learning. It solves the problem of making computation tangible for children by turning every value, operation, and system component into an inspectable, mutable object.
How it works
Smalltalk runs by sending messages between objects. Every value is an object. There are no primitive types. Computation happens through message passing, not function calls or operators.
What works
The message-passing model works. Total reflection works—both structural (you can query and alter class definitions at runtime) and computational (you can intercept, redirect, or rewrite method execution on the fly). The integrated development environment worked from day one.
What does not
Smalltalk-72 did not ship as a complete system. It was a proof-of-concept interpreter in BASIC. Smalltalk-80 was not widely adopted outside research and education. It made no claim to industrial scalability, and none is documented.
What it changes
It changed how programming environments are conceived: as live, inspectable, modifiable systems—not static editors plus compilers. It established that an IDE could be the language’s runtime, not a separate tool.
Is it worth your time
Yes—if you need to understand how reflection, live coding, or integrated development environments were first engineered into a language. No—if you need production tooling, performance, or ecosystem support.
