Instructor's Guide
introduction
themes
paradigms
lifecycle
trends
summary
Q/A
literature
The procedural style of programming is most closely related to the
school of structured programming, of which for instance [Dijkstra76] and
[Gries] are important proponents.
The procedural style supports a method of program development that is
known as stepwise refinement.
Stepwise refinement is an important heuristic for developing
complex algorithms.
Instead of writing out a complex algorithm in all its detail, the method
allows for refining the elementary steps of the basic algorithm by means
of increasingly detailed procedures.
while ( programming == art ) {
incr( pleasure );
decr( bugs );
incr( portability );
incr( maintainability );
incr( quality );
incr( salary );
} // live happily ever after
slide: Programming as an art
As a playful example of this style of programming, consider the fragment
that may be found on the cover of [Knuth92].
See slide [1-art].
Ignoring the contents, clearly the structure shows an
algorithm that is conceived as the repeated execution of
a number of less complex steps.