A Live Programming Experience
research.microsoft.com
research.microsoft.com
It feels like programming never really escaped its command line origins, where all UI is orientated around ordered text transformations. Coding in that environment is empowering once mastered, but very frustrating to master; for me the promise of these kind of programming environments is that the same level of mastery is possible with only a fraction of the frustration.
I'm really excited to see what Jonathan is doing now that he's shifted his focus to end-user and building a releasable system at CDG. If you're interested in this stuff, all three of us are going to be at the Future of Programming workshop at strangeloop this year :)
I like how the tutorial goes from concrete data, but wonder how to specify computations where the shape of the data isn't known completely in advance, or could change over time.
I also dislike drawing diagrams on screen when they're much quicker to sketch out on paper, but that's probably more of a personal preference (and I've not spent enough time with the editor yet).
I'd love to get to strangeloop but it's a long way from Dublin, Ireland! Maybe another year...
We have some really interesting ideas here around query-first schema generation. E.g. using things before they even necessarily exist as anything formally in the system. Powerful IDEs like Visual Studio enable this workflow, by giving you a quickfix that will create a method/function if it doesn't exist. Coupled with heavy normalization (i.e. 6th normal form) and a nice way of dealing with modeling in that world [1], we should be able to provide a really nice iterative experience. Our explicit goal is for working with Eve to feel almost conversational and exploratory. We found one of the biggest problems with tools like Access was that they forced you to plan everything up front, to define schemas and relationships before you can even do something of value. That's a trap we want to make sure we avoid.
> I also dislike drawing diagrams on screen when they're much quicker to sketch out on paper, but that's probably more of a personal preference (and I've not spent enough time with the editor yet).
The current editor evolved out of the question of if we could write programs on paper efficiently. I agree with you and one of the things I really want to explore a bit further down the road is a sketching-like interface that enables you to draw things directly (it wouldn't be too hard to even capture images from a whiteboard or sheet of paper).
Sketching on paper is so much more free-form and immediate than anything I've encountered yet in a screen-mediated interface (including apps like Illustrator) but I'd be very keen to try new approaches. It would be incredibly liberating if hand-drawn sketches could be parsed successfully from a photograph.
Thanks for the pointer to anchor modeling, it's fascinating.
I wonder when this article was posted? Along with the Eve announcement it seems there's a lot to look forward to for the future of live programming.