Good point, I shouldn't have lumped together the two concepts. Thanks for clarifying.
I would add that this all seems to be in pretty early stages on the WebKit side, too. For example, I had hoped that when the debugger hits a breakpoint, and you hot-swap code in the current call frame and restart the frame, what would happen is what you'd expect to happen, alas--at least with Chome Canary--this doesn't seem to work yet.
So yes, you're right that true live editing is not around the corner, with or without Kite. I'm just aiming to get as close as possible.
This is stated most eloquently in Christopher Hancock's dissertation [1]:
> And yet, if making a live programming environment were simply a matter of adding “continuous feedback,” there would surely be many more live programming languages than we now have. As a thought experiment, imagine taking Logo (or Java, or BASIC, or LISP) as is, and attempting to build a live programming environment around it. Some parts of the problem are hard but solvable, e.g. keeping track of which pieces of code have been successfully parsed and are ready to run, and which ones haven’t. Others just don’t make sense: what does it mean for a line of Java or C, say a = a + 1, to start working as soon as I put it in? Perhaps I could test the line right away—many programming environments allow that. But the line doesn’t make much sense in isolation, and in the context of the whole program, it probably isn’t time to run it. [end quote]
Light Table is interesting in this regards, though I'm not sure what they are claiming yet. I (and others like Jonathan Edwards) think we'll have to accept significant changes in our programming models to achieve true live programming, that we can't just tack it on transparently to our existing stack, e.g. by snapping back a few stack frames on an edit.
Highly interesting, thanks for sharing your thoughts and the link to that paper.
Really I'm just trying to improve turnaround time when developing Web apps. I think that between full-page reloads and research into better programming models, there's some middle ground worth exploring. I guess I shouldn't be using the term "live editing" for that, though.
Surely it is worth exploring. There are many points on the "make programming more interactive" spectrum, and hot swapping is something that we still can't get right in our mainstream programming environments! But live programming is something much more ambitious (and much more difficult to achieve) than hot swapping. Its basically what we eventually want even if we have to make many smaller steps (hot swapping) to get there.
I would add that this all seems to be in pretty early stages on the WebKit side, too. For example, I had hoped that when the debugger hits a breakpoint, and you hot-swap code in the current call frame and restart the frame, what would happen is what you'd expect to happen, alas--at least with Chome Canary--this doesn't seem to work yet.
So yes, you're right that true live editing is not around the corner, with or without Kite. I'm just aiming to get as close as possible.