Example-centric programming: integrating web search into the development environment
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
What would other programmers do: suggesting solutions to error messages
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Designing with interactive example galleries
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
No Code Required: Giving Users Tools to Transform the Web
No Code Required: Giving Users Tools to Transform the Web
TAPP'10 Proceedings of the 2nd conference on Theory and practice of provenance
Evolution of the mashup ecosystem by copying
Proceedings of the 3rd and 4th International Workshop on Web APIs and Services Mashups
Using automatic persistent memoization to facilitate data analysis scripting
Proceedings of the 2011 International Symposium on Software Testing and Analysis
23rd French Speaking Conference on Human-Computer Interaction
Proceedings of the 24th annual ACM symposium adjunct on User interface software and technology
Facing up to the inequality of crowdsourced API documentation
ACM SIGSOFT Software Engineering Notes
Codelets: linking interactive documentation and example code in the editor
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
SnipMatch: using source code context to enhance snippet retrieval and parameterization
Proceedings of the 25th annual ACM symposium on User interface software and technology
SNIPR: complementing code search with code retargeting capabilities
Proceedings of the 2013 International Conference on Software Engineering
Prototyping tangibles: exploring form and interaction
Proceedings of the 8th International Conference on Tangible, Embedded and Embodied Interaction
On the benefits of providing versioning support for end users: An empirical study
ACM Transactions on Computer-Human Interaction (TOCHI)
Hi-index | 0.00 |
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.