Methods of End-User Programming

We must develop languages that the scientist, the architect, the teacher, and the layman can use without being computer experts.  The language for each user must be as natural as possible to him.  The statistician must talk to his terminal in the language of statistics.  The civil engineer must use the language of civil engineering.  When a man learns his profession he must learn the problem-oriented languages to go with that profession.
James Martin, Design of Real-time Computer Systems, 1967.


Three decades later, James Martin's vision is still far from being fully realized.  Where it has been, as he predicted, there is a wide variety of interaction techniques for different professions, tasks, and users. Many fall into the categories below.  Follow these links to Web pages, newsgroups, and other information about the techniques that interest you.

  1. Application-specific Languages
  2. Programming by Example PBE (Also known as Programming By Demonstration PBD)
  3. Visual Programming
  4. Natural Programming

Related Techniques:

  1. User-Centered Design
  2. Interactive Prototyping
  3. Open Source
  4. Open Implementation

Home About New Techniques Tools Bibliography Researchers Users Benefits Contribute!
Updated 6/9/1998 by Howie Goodell