2012 · 11 citations · 31 references
ComputingComputer ScienceDesignDesign ThinkingProgramming LanguagesSoftware EngineeringCode GenerationObject-oriented ProgrammingProgramming Language DesignProgramming Language ImplementationSoftware ConstructionSoftware DesignAbstractionAbstraction MechanismsAspectAspect-oriented ProgrammingObject-oriented Language DesignProgram RepresentationProgramming ConceptsThought Process
Programming is the process of expressing and refining ideas in a programming language. Ideally, we want our programming language to flexibly fit our natural thought process. Language innovations, such as procedural abstraction, object and aspect orientation, have helped increase programming agility. However, they still lack important features that a programmer could exploit to quickly experiment with design and implementation choices.
31
The mythical man-month: essays on software engineering
Choice Reviews Online · 1996 · 2.5K citations
Labeling images with a computer game
Luis von Ahn, Laura Dabbish · 2004 · 2.2K citations
reCAPTCHA: Human-Based Character Recognition via Web Security Measures
Luis von Ahn, Benjamin Maurer, Colin McMillen et al. · Science · 2008 · 1.1K citations
Program development by stepwise refinement
Niklaus Wirth · Communications of the ACM · 1971 · 959 citations · Full text
Computing, Computer Science, Building Information Modeling +5