Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Here is a fascinating thesis written in 2003 on live programming:

https://llk.media.mit.edu/papers/ch-phd.pdf

The ideas are quite old, much older than Bret Victor's work.



>The ideas are quite old, much older than Bret Victor's work.

Absolutely. Your work in particular predates Bret's and I've enjoyed reading it and hope it catches on and inspires more folks at Microsoft and Microsoft Research! :)

I think what makes Bret's work a little different than the linked work is that Bret's work managed to escape academia and appeal to an audience that might not have otherwise been exposed to these ideas in the first place.


It is great that Bret's work made the ideas more mainstream, but on my research for Xerox PARC's work I would say the ideas go back at very least to the interactive coding available on Smalltalk, Interlisp-D and Mesa/Cedar.

Interactive coding is with us since the early 80's, the ideas just failed to go mainstream.


Live programming goes way beyond smalltalk fix and continue, morphic directness, or a LISP REPL. We've caught up to that past, it is now time to go further. And of course, no one is really quite sure what the lisp machines ever did really, it's not like they have a video on YouTube :)

It is better to have that argument with Gilad Bracha, I guess.


Actually there are a few videos. :)

But I guess all fail short how they really were.

http://www.loper-os.org/?cat=10

http://www.loper-os.org/?p=932

https://www.youtube.com/watch?v=o4-YnLpLgtk


I still am interested in piecing together the experience for history. I hear stories but never any real details!


I think most of the amazement came from the time they were in. In that time this was truly revolutionary. Having a whole OS based on it is still arguably revolutionary, but from a programming/IDE perspective I don't think they are anything special any more. As far as I know a modern Lisp + Emacs gives you roughly the same experience.


Emacs fails short because it doesn't allow for live editing of inline data structures, unless it has changed on the last years.

Dr Racket's REPL is probably closer to the experience.

Also very few IDEs enjoy the same edit-continue experience, maybe commercial Common Lisp environments.


Not sure what you mean by "live editing of inline data structures" here (care to give an example?), but the interactive debugger in Emacs/SLIME can do quite a lot of nice things, including modifying arbitrary data on the fly, live.

For instance, if I have a hashtable returned from a function I called in REPL, I can inspect it and modify its values and properties. Also, within the REPL itself, text is "smart" and copy-paste tracks references, so I can paste the "unreadable objects" (i.e. #<Foo 0xCAFECAFE>) directly into REPL calls and have it work, because SLIME will track the reference linked to a particular piece of text output.


The presentation based REPL in Emacs + SLIME was inspired by the Symbolics Lisp Machine presentation feature.

But I can assure you, there is a difference of a REPL feature in an editor and a GUI using it system wide, as on the Lisp Machine. Both in depth of the features, integration and the feel of the user interface.


Haven't had a chance to experience it myself yet. I'm watching the videos now though and I think I begin to see the difference.


Check out this video (which I made some time ago), which shows the presentation UI from an application perspective (here a document authoring system) and as a bonus, the application integrates Zmacs (the Emacs of the Lisp Machine)...

https://vimeo.com/83886950

Think of the Documentation Examiner a version of Emacs Info. Think of Concordia as a version of an Emacs buffer editing documentation records. The listener a version of the Slime listener. You can also a short glimpse of the graphics editor, IIRC.


Thanks a lot! I'll watch it after work and get back with impressions :).


Check the example of image editing

https://www.youtube.com/watch?v=o4-YnLpLgtk


>Live programming goes way beyond smalltalk fix and continue, morphic directness, or a LISP REPL. We've caught up to that past

Actually we didn't. The vast majority of programmers doesn't have access even to those -- and even those that do don't have it in any much advanced way compared to those older environments.


I meant us researchers and inventors :) Anyways, we are just now moving out of Smalltalk/LISP's shadow, and it feels good.


I still wish Chris Hancock would get more credit, his work on live programming was really 10 years too early. It is a beautifully written thesis, and hardly very academic, but rather very pragmatic and useful. I just wish it came with videos, but I guess YouTube wasn't around back then :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: