Bret Victor wrote another great essay, Learnable Programming: Designing a programming system for understanding programs, in the wake of StrangeLoop.
The goals of a programming system should be:
- to support and encourage powerful ways of thinking
- to enable programmers to see and understand the execution of their programs
Alan Perlis wrote, "To understand a program, you must become both the machine and the program." This view is a mistake, and it is this widespread and virulent mistake that keeps programming a difficult and obscure art. A person is not a machine, and should not be forced to think like one.
How do we get people to understand programming?
We change programming. We turn it into something that's understandable by people.
Bret Victor writes in a flowing, highly accessible, and richly exampled style that I have, perhaps unfairly, come to expect from him. This essay will be of great interest to anyone who is exploring live programming, interactive programming, augmented programming, or integration of programming language with development environment.
TOPLAP, a community for live coding since 2004, provides a little extra context for the essay.