Smalltalk Is the Car

Programmers: You Probably Don’t Know What a Computer Is. post archive

> Programming languages are the wires connecting the interior lighting, but Smalltalk is the car.

That’s right — the car — the computer itself. Smalltalk is a 1980 answer to what a computer could be. Namely, a world of living objects, simulating the user’s mental model, which each provide the full power of the computer itself.

Okay, okay. So the car is a 1980 Ferrari. It’s aging. But here’s the thing — for the most part, the programming world stopped building cars after that. They keep putting cooler, faster, smaller parts (i.e. programming languages) into the same pre-1980 Yugo — the computer in which isolated applications cut the user off from the full power of the computer, which are themselves boxed in by the operating system, of which Dan Ingalls famously remarked:

> An operating system is a collection of things that don’t fit into a language. There shouldn’t be one.

While we take this “operating system plus applications” paradigm for granted, it’s not a particularly powerful idea. As Alan Kay would say, it’s “reinventing the flat tire”. And, it doesn’t have to be this way. Let me take you on a little journey. But first…

**Disclaimer**: The point of all this is not how great Smalltalk is, or why you should use it. The point is to answer Dr. Kay’s challenge to “obsolete the damn thing” [1], to pick up where Smalltalk left off — creating a uniform, dynamic, fun system that “provide[s] computer support for the creative spirit in everyone” [2], instead of smearing more cool icing on top of the “operating system plus applications” mud pie, the impenetrable layers of which have grown well beyond the possibility of human understanding.

The following is an introduction I (Sean DeNigris) wrote to some Smalltalk GSoC students… archive