Modula-3 (1411/mod022)

Logo from EC

OO language with genericity and prototyping 


L. Cardelli et al, DEC and Olivetti, 1988. A descendant of Modula-2+ and Cedar, designed for safety and simplicity. Objects, generics, threads, exceptions and garbage collection. Modules are explicitly safe or unsafe. As in Mesa, any set of variables can be monitored. No multiple inheritance, no operator overloading. Uses structural equivalence.
Version: SRC Modula-3 V1.5.

is a systems programming language that descends from Mesa, Modula 2, Cedar. It resembles it's cousins: Object Pascal, Oberon, and Euclid. The goal is to be simple and safe as it can be while meeting the needs of modern system programmers.  Modula 3 retains one of Modula 2's most successful features, the provision for explicit interfaces between modules. It adds objects and classes, exception handling, garbage collection, lightweight processes (or threads), and the isolation of unsafe features.  Used in industrial and research projects, and for teaching. It encourages good programming practices and comes with excellent libraries for distributed programming and GUI's.  Supports 25 different OS platforms.  

Places
People:
Structures:
Related languages
Cedar => Modula-3   Derivation of
Mesa => Modula-3   Influence
Modula-2+ => Modula-3   Evolution of
Modula-3 => LM3   Interface for
Modula-3 => Modula-3*   Derivation of
Modula-3 => OBLIQ   Adaptation of
Modula-3 => Phantom   Subset
Modula-3 => Python   Influence
Modula-3 => SRC Modula-3   Revision
Modula-3 => Tycoon/Fibonacci Add-On Experiment   Written using

References:
  • Cardelli, Luca et al, "Modula-3 Report", TR 52, DEC SRC, and Olivetti Research Center, Aug 1988 (revised Oct 1989). view details
  • Nelson, Greg "Systems Programming with Modula-3" Prentice Hall, NJ, 1991 view details
  • Harbison, Sam "Modula-3", P-H 1992. view details
  • Abadi, Martin and Cardelli, Luca "A Theory of Objects" Springer Monographs in Computer Science, 1996 view details

    Resources
    • Repository at DEC

      "
    • Modula-3 page at DEC
      external link
    • Usenet
      "
    • Logo from EC