Bret Victor on Khan Academy’s live programming environments

October 2 2012

Bret Victor gives his thoughts on how people (could) learn to program, and why ‘just’ a live coding webapp doesn’t necessarily do it. Sit back, it’s quite a read.

How it starts:

Khan Academy recently launched an online environment for lea


ning to program. It offers a set of tutorials based on the JavaScript and Processing languages, and features a “live coding” environment, where the program’s output updates as the programmer types.

Because my work was cited as an inspiration for the Khan system, I felt I should respond with two thoughts about learning:

Programming is a way of thinking, not a rote skill. Learning about “for” loops is not learning to program, any more than learning about pencils is learning to draw.
People understand what they can see. If a programmer cannot see what a program is doing, she can’t understand it.
Thus, 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

A live-coding Processing environment addresses neither of these goals. JavaScript and Processing are poorly-designed languages that support weak ways of thinking, and ignore decades of learning about learning. And live coding, as a standalone feature, is worthless.

The full article: Learnable Programming
Khan Academy Computer Science

No Comments

Leave A New Comment

Captcha Challenge * Time limit is exhausted. Please reload CAPTCHA.