HOPL-III: Modula-2 and Oberon

Niklaus Wirth discusses two of his Pascal successor languages in the HOPL-III paper on Modula-2 and Oberon.

This is an account of the development of the languages Modula-2 and Oberon. Together with their ancestors ALGOL 60 and Pascal they form a family called Algol-like languages. Pascal (1970) reflected the ideas of Structured Programming, Modula-2 (1979) added those of modular system design, and Oberon (1988) catered to the object-oriented style. Thus they mirror the essential programming paradigms of the past decades. Here the major language properties are outlined, followed by an account of the respective implementation efforts. The conditions and the environments are elucidated, in which the languages were created. We point out that simplicity of design was the most essential, guiding principle. Clarity of concepts, economy of features, efficiency and reliability of implementations were its consequences.
The main influence on these languages were the Xerox Parc languages of Mesa and Cedar (which were Pascal derivatives). Mesa and Modula-2 explored modules, while Cedar and Oberon were concerned with the entire operating system experience. As Wirth states a couple of times in the paper, his main goal was to teach programming concepts, using language design to further that end, but with an eye for use in non-academic settings. He frowns on the design of modern PLs, with its lack of resource constraints and kitchen-sink approaches - expressing concern that it makes it hard to teach structured programming. He also expresses concern that operating systems are no longer a subject of research, much less integration with PL design.

(Previous LtU links to HOPL-III papers.)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.


At one time I was the only Mesa programmer between Boston and Baltimore who was working for a commercial company other than Xerox (there were academic and government people in that geographical region who also used the language).

Therein lies a story, I

Therein lies a story, I presume.