Skip to content
EntityQ1928222· pop 13· linked from 115 articles

Also known as Modula3

Modula-3 is a programming language conceived as a successor to an upgraded version of Modula-2 known as Modula-2+. It has been influential in research circles (influencing the designs of languages such as Java, C#, Python and Nim), but it has not been adopted widely in industry. It was designed by Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan (before at the Olivetti Software Technology Laboratory), Bill Kalsow and Greg Nelson at the Digital Equipment Corporation (DEC) Systems Research Center (SRC) and the Olivetti Research Center (ORC) in the late 1980s.

Key facts

Programming language.name
Modula-3
Programming language.logo
Modula-3.svg
Programming language.paradigms
imperative, structured, procedural, modular, concurrent, object-oriented, generic
Programming language.typing
strong, static, safe or if unsafe explicitly safe isolated
Programming language.scope
Lexical
Programming language.family
Wirth/Modula
Programming language.designers
Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan; Bill Kalsow, Greg Nelson
Programming language.developers
DECOlivetti Software Solutions GmbH
Programming language.latest release version
5.8.6
Programming language.latest preview version
5.8.6
Programming language.implementations
SRC Modula-3, CM3, PM3, EZM3, M3/PC Klagenfurt
Programming language.influenced by
ALGOL, Euclid, Mesa, Modula-2, Modula-2+, Oberon, Pascal
Programming language.influenced
C#, Java, Nim, OCaml, Rust, Python
Programming language.platform
IA-32, x86-64, PowerPC, SPARC
Programming language.operating system
Cross-platform: FreeBSD, Linux, Darwin, SunOS

via Wikipedia infobox

Wikidata facts

Official website
www.modula3.org
Show 1 more fact
inception
1989-01-01
Sources (2)

via Wikidata · CC0

~22 min read

Article

20 sections
Contents
  • Historical development
  • Syntax
  • Language features
  • Modularity
  • Safe vs unsafe
  • Generics
  • Traceability
  • Dynamic allocation
  • Object-oriented
  • Revelation
  • Exceptions
  • Multi-threaded
  • Summary
  • Standard library features
  • Implementations
  • Books
  • Projects using Modula-3
  • Influences on other programming languages
  • References
  • External links

Modula-3 is a programming language conceived as a successor to an upgraded version of Modula-2 known as Modula-2+. It has been influential in research circles (influencing the designs of languages such as Java, C#, Python and Nim), but it has not been adopted widely in industry. It was designed by Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan (before at the Olivetti Software Technology Laboratory), Bill Kalsow and Greg Nelson at the Digital Equipment Corporation (DEC) Systems Research Center (SRC) and the Olivetti Research Center (ORC) in the late 1980s.

Modula-3's main features are modularity, simplicity and safety while preserving the power of a systems-programming language. Modula-3 aimed to continue the Pascal tradition of type safety, while introducing new constructs for practical real-world programming. In particular Modula-3 added support for generic programming (similar to templates), multithreading, exception handling, garbage collection, object-oriented programming, partial revelation, and explicit marking of unsafe code. The design goal of Modula-3 was a language that implements the most important features of modern imperative programming languages in quite basic forms. Thus allegedly dangerous and complicating features such as multiple inheritance and operator overloading were omitted.

Connections

Categories