- Author
- Bret Victor
- Published
- September 2012
- Kind
- Long design essay with interactive demonstrations
- Original
- worrydream.com/LearnableProgramming/
- Subject
- Software design
What it is
Bret Victor wrote this in reply to a Khan Academy environment. That system cited the author's earlier work. The essay argues that live coding is not the point. It gives a checklist for learning environments and languages. It also says the principles apply to experienced programmers, not only learners.
What it says
- Victor argues programming is a way of thinking, and people understand what they see.
- The essay says live coding alone misses the point; learners still imagine the next line.
- An environment should let learners read vocabulary, follow flow, see state, react and abstract.
- Program state must be shown, and hidden state removed or displayed.
- The language should supply identity and metaphor, decomposition, recomposition and readability.
- The essay calls JavaScript and Processing poorly designed, and faults Processing's global state.
- Victor answers Brooks: visual tools failed by showing code structure, not program behavior.
What evidence it gives
The essay relies on argument, analogies and annotated mock-ups of environment features. It points to Logo, Smalltalk, HyperCard and Rocky's Boots as models. It cites Papert, Kay, Hughes and Tufte. It reports no tests with learners.
Interests and limits
The author's own work inspired the system criticized, and the essay replies to it. The demonstrations are mock-ups, not tested tools. The essay's interactive figures and videos were not viewed, only its text. The claims about learning are untested in the essay.