Programming by example
Encyclopedia
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.
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...
, 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
Computer
A computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...
new behavior
Behavior
Behavior or behaviour refers to the actions and mannerisms made by organisms, systems, or artificial entities in conjunction with its environment, which includes the other systems or organisms around as well as the physical environment...
by demonstrating actions on concrete examples. The system records user actions and infers a generalized program
Computer program
A computer program is a sequence of instructions written to perform a specified task with a computer. A computer requires programs to function, typically executing the program's instructions in a central processor. The program has an executable form that the computer can use directly to execute...
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
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....
. 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
BioMOBY
BioMOBY is a registry of web services used in bioinformatics. It allows interoperability between biological data hosts and analytical services by annotating services with terms taken from standard ontologies.- The BioMOBY project :...
protocol: Seahawk and Gbrowse moby. Also the programming by demonstration
Programming by demonstration
In computer science, programming by demonstration is an End-user development technique for teaching a computer or a robot new behaviors by demonstrating the task totransfer directly instead of programming it through machine commands....
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 demonstrationProgramming by demonstrationIn computer science, programming by demonstration is an End-user development technique for teaching a computer or a robot new behaviors by demonstrating the task totransfer directly instead of programming it through machine commands....
- LapisLapis (text editor)Lapis is an experimental text editor allowing multiple simultaneous edits of text in a multiple selection.Lapis is an instance of Programming by example...
, a text editorText editorA text editor is a type of program used for editing plain text files.Text editors are often provided with operating systems or software development packages, and can be used to change configuration files and programming language source code....
that allows simultaneous editing of similar items in a multiple selection created by example.
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