ACM SIGPLAN Notices · 2004 · 28 citations · 18 references
ComputingComputer ScienceProgramming LanguagesSoftware EngineeringSystems ProgrammingApplication Programming InterfacesEnd-user ProgrammingProgramming Language DesignSoftware DesignSoftware TestingProgram ComprehensionSoftware Comprehension Tools
Programmers tend to understand programs by thinking of concrete examples. Example Centric Programming seeks to add IDE support for examples throughout the process of programming. Instead of programmers interpreting examples in their head, the examples are written down and the IDE interprets them automatically. Advanced UI techniques are used to present the results closely integrated with the code. Traditionally distinct programming tools (the editor, Read-Eval-Print-Loop, debugger, and test runner) are unified into a single tool that might be called an example-enlightened editor. This is expected to benefit a wide spectrum of programming activities, for both novice and experienced programmers. Some novel methods for testing and development are made possible. In the longer term, example centrism has implications for the design of future programming languages. A prototype has been implemented for Java in Eclipse.
18
David Ungar, Randall B. Smith · 1987 · 909 citations
Your wish is my command: programming by example
Choice Reviews Online · 2001 · 500 citations
The BlueJ System and its Pedagogy
Michael Kölling, Bruce Quig, Andrew Patterson et al. · Computer Science Education · 2003 · 483 citations
DrScheme: a programming environment for Scheme
Robert Bruce Findler, John Clements, Cormac Flanagan et al. · Journal of Functional Programming · 2002 · 340 citations