Thomas Ball, Microsoft Research
TouchDevelop: "Visual Basic" for Touch-based Devices and Web Services
Visual Basic is a 20 year old language (derived from BASIC) and integrated development environment (IDE) that enables rapid application development of GUI-based desktop applications that access databases. For the past few years, a team at Microsoft Research has been working on a new language and system called TouchDevelop (www.touchdevelop.com) that we think of as “Visual Basic” for devices and services, providing high-level abstractions to enable the productive creation of scripts on and for touch-based 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 IDE that makes TouchDevelop available on many platforms and makes it possible to productively create small scripts with a single finger on 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 production.
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. Tom graduated with a B.A. in Computer Science from Cornell University in 1987 and a M.S. and Ph.D. from the University of Wisconsin-Madison in 1993. From 1993-1999, he was a member of the technical staff at Bell Laboratories, where he made contributions in program visualization and profiling. 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. A 2001 PLDI paper on SLAM’s predicate abstraction procedure for C programs received the PLDI 2011 Most Influential Paper Award. 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". Since becoming a manager at Microsoft, he has nurtured research areas such as automated theorem proving, program testing/verification, and empirical software engineering. Tom performed this summer in the Seattle Opera chorus in Wagner’s Ring cycle. He is a member of the ACM and the American Guild of Musical Artists.