Computer Science Department
School of Computer Science, Carnegie Mellon University


Natural Programming: Project Overview and Proposal

Brad A. Myers

January 1998

[Also appears as CMU-HCII-98-100]

Keywords: End-user programming, programming languages, code, multimedia authoring, robot control, process control

End-users must write programs to control many different kinds of applications. Examples include multimedia authoring, controlling robots, defining manufacturing processes, setting up simulations, programming agents, scripting, etc. The languages used today for these tasks are usually difficult to learn and are based on professional programming languages. This is in spite of years of research highlighting the problems with these languages for novice programmers. The Natural Programming Project is developing general principles, methods, and programming language designs that will significantly reduce the amount of learning and effort needed to write programs for people who are not professional programmers. These principles are based on a thorough analysis of previous empirical studies of programmers, as well as new studies designed to discover the most natural programming paradigms. Our proposed research is to extend these results, and apply them to different domains. The result will be new programming languages and environments that are demonstrably superior for users.

20 pages

Return to: SCS Technical Report Collection
School of Computer Science homepage

This page maintained by