Program development by stepwise refinement

Niklaus Wirth

Communications of the ACM · 1983 · 689 citations · 2 references

DOIFull text

Open access

Concepts

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.

References

2