Program development by stepwise refinement

  • Authors:
  • Niklaus Wirth

  • Affiliations:
  • Eidgenössische Technische Hochschule, Zürich, Switzerland

  • Venue:
  • Communications of the ACM - Special 25th Anniversary Issue
  • Year:
  • 1983

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.