"TouchDevelop: Productive Scripting on and for Mobile Devices and Web Services"
by Thomas Ball, Principal Researcher and Research Manager, Microsoft Research
Originally presented March 12, 2014
TouchDevelop is a programming environment that provides high-level abstractions to enable the productive creation of scripts on and for mobile devices that access web services. TouchDevelop has four main components:
- A statically typed scripting language with novel abstractions to support (a) stateless GUIs with support for live programming and (b) replicated data for collaborative applications;
- A browser-hosted touch-based integrated development environment that makes it possible to productively create scripts that execute across a variety of devices.
- A set of high-level APIs to make it easy to access device sensors/resources and web services;
- A cloud back-end that enables a social approach to software development.
In this talk, I’ll first briefly demonstrate TouchDevelop and show how it is being used in education at various levels. I’ll then dig into the language abstractions and run-time support for live programming and replicated data, as well as the research opportunities opened up by hosting a software environment in the cloud.
Thomas Ball (Tom) is a Principal Researcher and Research Manager at Microsoft Research. From 1993-1999, he was a member of the technical staff at Bell Laboratories. His 1997 PLDI paper on path profiling with colleagues Ammons and Larus received the PLDI 2007 Most Influential Paper Award. In 1999, Tom moved to Microsoft Research, where he started the SLAM software model checking project with Sriram Rajamani, which led to the creation of the Static Driver Verifier (SDV) tool for finding defects in device driver code. Tom and Sriram received the 2011 CAV Award "for their contributions to software model checking, specifically the development of the SLAM/SDV software model checker that successfully demonstrated computer-aided verification techniques on real programs." Tom is a 2011 ACM Fellow for "contributions to software analysis and defect detection". As a manager at Microsoft, he has grown research areas such as automated theorem proving, program testing/verification, and empirical software engineering.