Program development by stepwise refinement Wirth, CACM 1971
This is the second of Barbara Liskov’s 7 ‘must-read’ CS papers. Wirth’s main point is that we have a tendency to focus far too much on mastering the syntax and style associated with a particular programming language, and nowhere near enough time on the process by which new programs are designed in the first place.
… active programming consists of the design of new programs, rather than contemplation of old programs… Clearly, programming courses should teach methods of design and construction, and the selected examples should be such that a gradual development can be nicely illustrated.
By far the bulk of the paper though, is dedicated to one worked example of this principle, introducing the idea of stepwise refinement. The goal is to write a program to solve the eight-queens problem.
Picture credit: Wikipedia
Wirth starts out with a…
View original post 919 more words