Live programming aims to provide programmers with useful continuous feedback from a live executing program. Realizing the “useful” part is not easy: automatic re-execution and even time travel debugging do not significantly augment the general abstract reasoning that makes programming hard. This talk show how lessons learned from research on direct manipulation; example-centric, conversational, learnable, and visual programming; live coding; and even Hollywood’s fictional interfaces, can help us envision and design amazing new programming experiences.
I am a programming language researcher at Microsoft Research Asia’s Systems Research Group who focuses on design, objects, IDEs, live programming, and how we could program with touch.