Modula-2
Modula-2 is a structured, procedural programming language developed between 1977 and 1985/8 by Niklaus Wirth at ETH Zurich. It was created as the language for the operating system and application software of the Lilith personal workstation. It was later used for programming outside the context of the Lilith.
Paradigms | imperative, structured, modular, data and procedure hiding, concurrent |
---|---|
Family | Wirth/Modula |
Designed by | Niklaus Wirth |
First appeared | 1978 |
Typing discipline | Static, strong, safe |
Scope | Lexical (static) |
Platform | Lilith (AMD 2901) |
OS | Cross-platform |
Filename extensions | .mod, .m2, .def, .MOD, .DEF, .mi, .md |
Website | www |
Major implementations | |
ETH compiler written by Niklaus Wirth GNU Modula-2 ADW Modula-2 | |
Dialects | |
PIM2, PIM3, PIM4, ISO | |
Influenced by | |
Modula, Mesa, Pascal, ALGOL W, Euclid | |
Influenced | |
Modula-3, Oberon, Ada, Fortran 90, Lua, Seed7, Zonnon, Modula-GM |
Wirth viewed Modula-2 as a successor to his earlier programming languages Pascal and Modula. The main concepts are:
- The module as a compiling unit for separate compiling
- The coroutine as the basic building block for concurrent processes
- Types and procedures that allow access to machine-specific data
The language design was influenced by the Mesa language and the Xerox Alto, both from Xerox PARC, that Wirth saw during his 1976 sabbatical year there. The computer magazine Byte devoted the August 1984 issue to the language and its surrounding environment.
Wirth created the Oberon series of languages as the successor to Modula-2, while others (particularly at Digital Equipment Corporation and Acorn Computers, later Olivetti) developed Modula-2 into Modula-2+ and later Modula-3.