Programming by example
In computer science, programming by example (PbE), also known as programming by demonstration or more generally as demonstrational programming, is an End-user development technique for teaching a computer new behavior by demonstrating actions on concrete examples. The system records user actions and infers a generalized program that can be used upon new examples.
PbE is intended to be easier than traditional programming, which generally requires learning and using a programming language. Many PbE systems have been developed as research prototypes, but few have found widespread real-world application. More recently, PbE has proved to be a useful paradigm for creating scientific work-flows. PbE is used in two independent clients for the BioMOBY protocol: Seahawk and Gbrowse moby. Also the programming by demonstration term has been mostly adopted by robotics researchers for teaching new behaviors to the robot through a physical demonstration of the task.
See also
- Programming by demonstration
- Lapis, a text editor that allows simultaneous editing of similar items in a multiple selection created by example.
- Inductive programming
- Test-driven development
External links
- Henry Lieberman's page on Programming by Example
- Online copy of Watch What I Do, Allen Cypher's book on Programming by Demonstration
- Online copy of Your Wish is My Command, Henry Lieberman's sequel to Watch What I Do
- A Visual Language for Data Mapping, John Carlson's description of an Integrated Development Environment (IDE) that used Programming by Example (desktop objects) for data mapping, and an iconic language for recording operations