Joel Brandt- Example-Centric Programming

The Web is fundamentally changing programming. The increased prevalence of online source code—shared in code repositories, documentation, blogs and forums—enables programmers to build applications opportunistically by iteratively searching for, modifying, and combining examples. These Web resources are a ubiquitous and essential part of programming: in one of our studies, programmers spent 19% of their time consuming relevant online information. But our development tools haven't yet embraced these changes. How do we leverage the latent opportunity of Web-based example code in the next generation of programming tools? My talk will explore the roles that online resources play in creating software. I'll present our taxonomy of programmer Web usage, and describe the creation of Blueprint, a task-specific search engine that embeds Web search inside the development environment. A laboratory study and large-scale deployment of Blueprint found that it enables participants to write significantly better code and find example code significantly faster than with a standard Web browser and search engine, and may cause a fundamental shift in how and when programmers search the Web.