Bret Victor on Live Coding

Bret Victor has another insightful essay up about “learnable coding”, which he says is an “immune response” to people saying his previous (also excellent) video was “about live coding”. He goes as far to say that live coding is “almost worthless” on its own.

That would be a fair point if live coding were only about live updates and nothing else. However in practice live coding isn’t a single technique, it’s a rich culture of ideas about liveness and code.

For example here’s live coding in Field:

In SchemeBricks:

In Overtone:

Just in those three you’ll find prior art for code timeline scrubbing, tangible values, auto-completion, the manipulation of history, and many of the other features that Bret argues for, in use in the wild. That’s not to say that Bret Victor isn’t contributing some really interesting and novel ideas, and that people shouldn’t run to read “mindstorms”, but in brushing off live coding out of hand, he’s missing out on some contemporary context too.

newest oldest most voted
Notify of
Davide Della Casa
Admin

You are being a gentleman Alex and you found the most elegant way to highlight the main problem I have with Bret’s video. Since I have 10 minutes I’ll inflict the readership with some harping on the topic. I’m sticking to the video, not the article as I haven’t read it in detail. He doesn’t reference any previous work. In fact, he does even worse than that, he only “references up” implicitly implying some sort of direct “relation of innovation” with his prototypes and the invention of the mouse and the invention of modeless interaction. There is no single mention… Read more »

Davide Della Casa
Admin

Yes but I don’t understand why demoting craftsmanship to some sort of menial second-grade class of work should be inspiring to people. I think it’s for the greatest part a self-serving argument. I genuinely think some commercial software is doing its bit to enable creativity. I think that photoshop is a majestic piece of engineering for example. Context-aware tools are beyond magical just to name one thing (it came from Academia but someone had to make it robust!). That the flash API has been a good model for a lot of the retained mode graphics world, including open source. That… Read more »

Andrew Sorensen
Guest

Actually I’m also pretty unimpressed by Bret. Hard to put my finger on why precisely but I think the previous poster got close with his *rambling* comment. Actually I couldn’t bring myself to finish either the video or the paper. I’m really uncomfortable with the large number of “cant, must, have to” phrases. Actually Bret I don’t HAVE to do anything. Hmmm, on reflection it reads a lot like something I would write before going through and trying to edit out all the stupid claims I had made ;) If he had toned it down a little I might have… Read more »

Eric K.
Guest

I believe the quote is “live coding, on its own, is almost worthless”. Field, SchemeBricks and Overtone do not use live coding “on it’s own”, do they? The example in Bret’s article does. To be sure, Kahn Academy doesn’t either. This may be a straw-man argument, however what he says remains true: Live coding on it’s own is not enough. Khan Academy seems to try to make up for this with video instructions overlaying the environment and documentation around the edges. What Bret proposes is to embed superior discovery and understanding opportunities into our programming environments for the benefit of… Read more »

Joseph Zizys
Guest

can I just ask, when THE HELL did toplap suddenly turn into an awesome and actively maintained blog!?! I have been a fan of Dave Griffiths for such a long time and used to occasionally visit the toplap page (it was a but ugly wiki then) and pine for a place where all (you Alex, and you too Andrew) my favorite live coders might hang out and exchange thoughts and stuff (a bit like Lambda the Ultimate is for language nerds) and now HEAR IT IS!!. On the topic, I like a lot of Brett’s ideas, and I know at… Read more »

Paul K
Guest

Alex, thank you for the pointers; I haven’t seen these projects before, even though I’ve been working on adding live coding features to my own Lua IDE (ZeroBrane Studio: http://studio.zerobrane.com/). I recorded several short screencasts demonstrating live coding in Lua (using turtle graphics: http://notebook.kulchenko.com/zerobrane/live-coding-in-lua-bret-victor-style) and in Love2d engine (http://notebook.kulchenko.com/zerobrane/live-coding-with-love).

I do agree that live coding is richer that may seem from Bret’s comment, but I think the reason for this statement is that he was upset with the oversimplification of his Inventing on Principle presentation as an implementation of cool live coding technique and not much else.

Holographic Elf
Guest
Holographic Elf

Here’s a video from June 2012 where Alan Kay shows a bit of collaboration with Victor:
http://amturing.acm.org/acm_tcc_webcasts.cfm
You have to select “Extracting Energy from the Turing Tarpit” from the right. The Victor bit is at ~21 min.

Yoshiki
Guest
Yoshiki

Ah, good reference. In fact, what Alan Kay did in the talk with the bridge demo can be seen as this defnition of “live coding”. On stage with big audience, puts up (highly declarative) code for the bridge, edit them real time to get crowd pleasing effects…

dave
Guest

For what it’s worth (and a bit late to the party) I just read this as meaning live coding as an interface mechanic on it’s own is worthless, which it is. I think Live Coding as a cultural movement (for want of a better description) is something else, and out of the context of this article. A lot of it made me think about a lot of the work which has been going on with Racket, especially this stuff: http://docs.racket-lang.org/quick/