Modula-2 2026-11-05
Modula-2 is a systems programming language designed by Niklaus Wirth, combining structured programming with explicit software modules and facilities for low-level system construction. A definition module declares an exported interface; an implementation module supplies its implementation and private details. Clients import the declared names instead of depending on every declaration in the implementation.
For example, a stack module can export a stack type and push/pop procedures while keeping the array or linked representation private. This permits separate compilation against an interface and replacement of the implementation when its contract is preserved. Wirth's project account places Modula-2 in the Lilith workstation effort and records completion of its first compiler at ETH in1979.[ref]
Summary of projects 1962-1999 by Niklaus Wirth. Modula-2 and Lilith sections
Low-level facilities make hardware-oriented programs expressible, but also require care about the assumptions connecting language operations to devices and machine representations. Niklaus Wirth 2026-11-05
Niklaus Wirth designed Pascal, Modula-2 and Oberon, connecting language design with compiler and system construction. His project account traces their development through implementations, teaching and workstation systems rather than presenting syntax in isolation.[ref]
Summary of projects 1962-1999 by Niklaus Wirth. Pascal, Modula-2 and Oberon sections
Oberon illustrates his preference for a small explicit language definition. Its report describes type extension of records, allowing a new record type to build on an existing one. A base-typed pointer can refer to an extended record, while access to extension-specific fields requires an appropriate type test or guard. The language's value and VAR parameters also specify whether a call receives a value or access to the caller's variable.[ref]
Oberon (programming language) Created 2026-10-31 Updated 2026-11-05
Oberon is a programming language designed by Niklaus Wirth, evolving from Modula-2 with a deliberately small collection of constructs. Its modules organize declarations and imports; record type extension relates new record types to existing ones. An extending record retains its base fields and can add more, supporting controlled specialization. The language and the Oberon operating-system project are distinct objects. Different revisions have different rules, so the cited language report matters when discussing exact syntax or type compatibility.[ref]
https://people.inf.ethz.ch/wirth/Oberon/Oberon07.Report.pdf. Wirth, The Programming Language Oberon, introduction and §§6,11
Pascal (programming language) 2026-11-05
Pascal is a structured programming language designed by Niklaus Wirth for expressing algorithms with explicit data types, procedures and organized control statements. Its arrays and records support concrete data organization, while nested procedures permit local decomposition of a program.
For example, a procedure summing an array can declare an integer loop index and an accumulator, initialize the accumulator to zero, and use a
for loop to add each entry. Stating the supported integer range remains necessary: a clear source-level sum can still overflow bounded arithmetic. Niklaus Wirth's account dates the Pascal project to1968–1972 and records an operational first compiler in1970, followed by use in introductory teaching.[ref]Summary of projects 1962-1999 by Niklaus Wirth. Pascal,1968–1972
By Niklaus Wirth.
Author-hosted report: people.inf.ethz.ch/wirth/Oberon/Oberon07.Report.pdf