Lessons from a Web-based IDE and Runtime

Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation |

Published by ACM

At Microsoft Research, we have built a purely web-based IDE called TouchDevelop that enables anyone to pick up a device and start programming. The IDE is geared towards touch based devices without keyboards, ranging from phones, over tablets, to large display screens. Programs can be edited and run on the device without an auxiliary PC. Transitioning between programming on one device, and continuing on another device is seamless. The web application also works offline.

TouchDevelop has been successfully applied to teaching introductory programming classes at the high-school level and at some college level for non-CS majors. For researchers, TouchDevelop provides a green-field platform to explore IDE and programming language design, as well as runtime techniques and distributed data storage abstractions.

In this talk, I will provide an overview of TouchDevelop from a language, IDE, and runtime perspective, while diving into some of the novel techniques enabled by our particular platform.