Communications of the ACM · 1983 · 689 citations · 2 references
EngineeringStepwise RefinementSoftware SystemsSoftware EngineeringSoftware AnalysisProgram TransformationCompilersCreative ActivityAutomatic ProgrammingProgramming LanguagesKnowledge RepresentationSuccessive RefinementDesignComputer ScienceSoftware DesignRefinement TechniqueDeclarative ProgrammingProgram AnalysisSoftware TestingProgram ComprehensionDesign DecisionsFormal MethodsDesign ThinkingProgram SynthesisProgramming Methodology
The creative activity of programming—to be distinguished from coding—is usually taught by examples serving to exhibit certain techniques. It is here considered as a sequence of design decisions concerning the decomposition of tasks into subtasks and of data into data structures. The process of successive refinement of specifications is illustrated by a short but nontrivial example, from which a number of conclusions are drawn regarding the art and the instruction of programming.
2
Programming by action clusters
Peter Naur · BIT Numerical Mathematics · 1969 · 100 citations