Engineering more natural interactive programming systems: keynote talk

  • Authors:
  • Brad A. Myers

  • Affiliations:
  • Carnegie Mellon University, Pittsburgh, PA, USA

  • Venue:
  • Proceedings of the 1st ACM SIGCHI symposium on Engineering interactive computing systems
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

We are all familiar with computing systems that are used by developers to create interactive computing systems for others. This includes the languages, libraries, and interactive development environments that we use every day. The Natural Programming Project has been working on tools, techniques and methods for designing and developing these systems, using methods from the HCI and Software Engineering fields. We have performed many studies about the barriers developers face performing their tasks, and people's natural expression of algorithms for new applications. We have created a wide variety of languages, tools and techniques that take advantage of this new knowledge. User studies of these techniques often show a dramatic impact in developer productivity. For example, we studied novice and expert programmers debugging their code, and found that they continuously are asking "Why" and "Why Not" questions, so we developed the "WhyLine" debugging tool which allows programmers to directly ask these questions of their programs and get a visualization of the answers. The Whyline increases productivity by about a factor of two. We studied the usability of APIs, such as the Java SDK, and discovered some common patterns that make programmers up to 10 times slower in finding and using the appropriate methods. This talk will provide an overview of our studies and the resulting designs as part of the Natural Programming project.