Alan Kay & Smalltalk

Image-based development

Also: live image, system image

Programming inside a persistent, live world of objects you sculpt rather than a pile of text files you compile.

In most languages, your program is a stack of text files that get compiled into a process that runs and then dies. In Smalltalk (and Lisp machines), it's the opposite: you work inside a persistent image — a snapshot of a whole world of live objects — that you grow, inspect, and reshape while it runs. Save the image and the entire living system, mid-thought, is preserved.

There is no hard line between "writing the program" and "running the program." You change a method and the change takes effect immediately, on the objects already alive in front of you. The environment is part of the language.

This is one of computing's great roads not taken. The file-and-compile world won on practical grounds — version control, deployment, collaboration — but the felt experience of sculpting a live system still haunts the future of programming. See live programming.