Modula-2

Modula-2
Paradigmsimperative, structured, modular, data and procedure hiding, concurrent
FamilyWirth/Modula
Designed byNiklaus Wirth
First appeared1978 (1978)
Typing disciplineStatic, strong, safe
ScopeLexical (static)
PlatformLilith (AMD 2901)
OSCross-platform
Filename extensions.mod, .m2, .def, .MOD, .DEF, .mi, .md
Websitewww.modula2.org
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-2+, Modula-3, Oberon, Ada, Fortran 90, Lua, Seed7, Zonnon, Modula-GM

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.[1] It was later used for programming outside the context of the Lilith.

Wirth viewed Modula-2 as a successor to his earlier programming languages Pascal and Modula.[2][3] The main concepts are:

  1. The module as a compiling unit for separate compiling
  2. The coroutine as the basic building block for concurrent processes
  3. 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.[4] The computer magazine Byte devoted the August 1984 issue to the language and its surrounding environment.[5]

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.

  1. ^ "Summary of Projects by N. Wirth, 1962–1999". Department of Computer Science. ETH Zurich.
  2. ^ Wirth, Niklaus (2002). "Pascal and its Successors". In Broy, Manfred; Denert, Ernst (eds.). Software Pioneers: Contributions to Software Engineering. Berlin, Heidelberg: Springer-Verlag. pp. 108–120. doi:10.1007/978-3-642-59412-0. ISBN 978-3-642-59412-0. S2CID 2698265.
  3. ^ Wirth, Niklaus (18 February 2005). "History and Goals of Modula-2". Dr. Dobb's Journal. Informa PLC.
  4. ^ Wirth, Niklaus (1988). Programming in Modula-2 (4th ed.). Berlin, Heidelberg: Springer. doi:10.1007/978-3-642-83565-0. ISBN 978-3-642-83565-0. S2CID 41899609. Page 4.
  5. ^ Wirth, Niklaus; Gutknecht, Jürg; Ohran, Richard; Paul, Robert J.; Coar, David (August 1984). "Theme: Modula-2". Byte: The Small Systems Journal. Vol. 9, no. 8. pp. 143–232. Available at Archive.org

Developed by StudentB