Programmers often write code to prototype, ideate, and discover. To do this, they work opportunistically, emphasizing speed and ease of development over code robustness and maintainability. How do opportunistic programmers make these trade-offs, and how does their work's structure compare to more formal software engineering practices? Opportunistic programmers build software using high-level tools and often add new functionality via copy-and-paste from the Web. They iterate rapidly, consider code impermanent, and find debugging particularly challenging. Five opportunistic-programming principles can help guide the development of tools that explicitly support prototyping in code. © 2009 IEEE.
CITATION STYLE
Brandt, J., Guo, P. J., Lewenstein, J., Dontcheva, M., & Klemmer, S. R. (2009). Opportunistic Programming: Writing code to prototype, ideate, and discover. IEEE Software, 26(5), 18–24. https://doi.org/10.1109/MS.2009.147
Mendeley helps you to discover research relevant for your work.