Example-centric programming
This article or section is in a state of significant expansion or restructuring. You are welcome to assist in its construction by editing it as well. This template was placed by CEGarcia (talk · contribs). If this article or section has not been edited in several days, please remove this template. If you are the editor who added this template and you are actively editing, please be sure to replace this template with {{in use}} during the active editing session. Click on the link for template parameters to use.
This article was last edited by Brc4783 (talk | contribs) 10 years ago. (Update timer) |
Example-Centric Programming is a help tool that allows an Integrated Development Environment (IDE) to show code examples or API documentation related to coding behaviors occurring in the IDE. “Borrow” tactics are often employed from online sources, by programmers leaving the IDE to troubleshoot. The purpose of Example-Centric Programming is to reduce the time spent by developers searching online. Ideally, in example-centric programming, the User Interface integrates with help module examples for assistance without programmers leaving the IDE. The idea for this type of “instant documentation” is to reduce programming interruptions.[1] The usage of this feature is not limited to experts, as some novices reap the benefits of an integrated knowledge base, without resorting to frequent web searches or browsing.[2]
History/background
The growth of the web has fundamentally changed the way software is built. Vast increase in information resources and the democratization of access and distribution are main factors in the development of Example-Centric Programming for End-user development. Tutorials are available on the web in seconds thus broadening the space of who writes it: designers, scientists, or hobbyists. Prevalence of online code repositories, documentation, blogs and forums—enables programmers to build applications iteratively searching for, modifying, and combining examples.
Scaffidi 2005: By 2012 13 million program as a part of their job, yet only three million of those are actual professional programmers.
There are three intentions behind programming web searches: "Learning" (just in time learning), "clarification" which is connecting existing knowledge to implementation of details, and "reminder" which is the offloading memory to external resources. Learning involves little to no prior knowledge and consists of mostly English, where copy and paste is the method of task completion. Clarification is a mix of computer code and the English language-it is immediately understood translations of code, or language analogies. Reminder is often what causes breaks in workflow.
References
- ^ Bhardwaj, Anant; Luciano, Date; Klemmer, Scott (2011). "Redprint: integrating API specific "instant example" and "instant documentation" display interface in IDEs". Proceedings of the 24th annual ACM symposium adjunct on User interface software and technology: 21–22. doi:10.1145/2046396.2046408.
- ^ Scaffidi, Christopher; Brandt, Joel; Burnett, Margaret; Dove, Andrew; Myers, Brad (2012). "SIG: end-user programming". CHI '12 Extended Abstracts on Human Factors in Computing Systems: 1193–1996. doi:10.1145/2212776.2212421.