"Clearly, programming courses should teach methods of design and construction, and the selected examples should be such that a gradual development can be nicely demonstrated"
About this Quote
Wirth isn’t pleading for “better examples” so much as smuggling in an entire philosophy of computing: programming education should be about disciplined making, not cleverness. The word “clearly” is doing rhetorical muscle work, suggesting that anything else is a category error. In Wirth’s world, code is engineered artifact, and teaching it through disconnected tricks is like teaching architecture by admiring doorknobs.
The tell is “methods of design and construction.” He’s not talking about syntax, nor even about problem-solving in the abstract. He’s pointing to process: decomposition, invariants, interfaces, data representation, the slow accumulation of structure. This is the ethos that produced Pascal and Modula-2, languages designed to make good habits easier and bad habits harder. The quote reads as mild pedagogy; it’s also a rebuke to curricula that confuse facility with fluency.
Then comes the quiet provocation: “selected examples” that allow “gradual development.” Wirth is allergic to the demo that arrives fully formed, polished, and unteachable. He wants examples that can be grown in front of students, with visible trade-offs and revisions, so learners experience design as a sequence of constrained decisions rather than a lightning strike of genius. That preference reflects the era when software’s complexity was exploding and “software engineering” was still insisting it deserved the name.
The subtext is almost moral: if you teach programming as mere coding, you produce technicians. If you teach it as design and construction, you cultivate engineers who can build systems that last.
The tell is “methods of design and construction.” He’s not talking about syntax, nor even about problem-solving in the abstract. He’s pointing to process: decomposition, invariants, interfaces, data representation, the slow accumulation of structure. This is the ethos that produced Pascal and Modula-2, languages designed to make good habits easier and bad habits harder. The quote reads as mild pedagogy; it’s also a rebuke to curricula that confuse facility with fluency.
Then comes the quiet provocation: “selected examples” that allow “gradual development.” Wirth is allergic to the demo that arrives fully formed, polished, and unteachable. He wants examples that can be grown in front of students, with visible trade-offs and revisions, so learners experience design as a sequence of constrained decisions rather than a lightning strike of genius. That preference reflects the era when software’s complexity was exploding and “software engineering” was still insisting it deserved the name.
The subtext is almost moral: if you teach programming as mere coding, you produce technicians. If you teach it as design and construction, you cultivate engineers who can build systems that last.
Quote Details
| Topic | Coding & Programming |
|---|
More Quotes by Niklaus
Add to List
