Modula-3

Modula-3

Modula-3 ist eine imperative, objektorientierte Programmiersprache. Sie versteht sich als Nachfolger von Pascal, Modula-2, Modula-2+ und Cedar (Programmiersprache) und wurde von DEC und Olivetti entwickelt. Sie wurde in der Tradition der Sprachen von Niklaus Wirth unter den Gesichtspunkten der Einfachheit und Strenge entwickelt, an der Entwicklung war Wirth allerdings nur als Berater beteiligt. Die Einfachheit bezieht sich hierbei auf den Sprachumfang (Die Sprachdefinition von Modula-3 umfasst 60 Seiten) und nicht auf die Länge der Programme oder auf eine Orientierung an persönlichen Programmiergewohnheiten.

Eigenschaften

Modula-3 besitzt folgende Eigenschaften:

Die oben genannten Konzepte wurden regelrecht minimalistisch umgesetzt. Dies erleichtert die Einarbeitung für jemanden, der mit diesen Konzepten vertraut ist.

  • Objektorientierung besteht im Wesentlichen aus dem Typ OBJECT.
  TYPE
    T = OBJECT
          a: INTEGER;
        METHODS
          m (arg: CHAR;) := P;
        END;
Dies definiert den Typ T für Objekte, welche die Objektvariable a und die Methode m enthalten. Die Methode m wird implementiert, indem man ihr eine Prozedur P zuweist. Diese muss die Signatur
 PROCEDURE P (self: A; arg: CHAR; );
besitzen.
Es gibt keine ausgezeichneten Methoden wie Konstruktoren und Destruktoren. Allerdings lassen sich Objektvariablen per Typdefinition in einen definierten Anfangszustand versetzen.
  • Kapselung wird durch die von Modula-2 bekannte Trennung in Schnittstelle und Implementation erreicht. Durch die teilweise Aufdeckung von Untertypbeziehungen (REVEAL) können darüber hinaus beliebig feine Abstufungen von Zugriffsmöglichkeiten definiert werden. Dies ist in gewisser Weise eine Verallgemeinerung der public-protected-private-Hierarchie und der friends-Vereinbarungen von C++.
  • Mit Typen parametrisierte Datenstrukturen lassen sich mit generischen Modulen realisieren. Generische Module unterscheiden sich von normalen Modulen durch Modul-Parameter. In gewisser Weise kann man damit ausgewählte IMPORT-Anweisungen variabel halten. Nachteil dieser einfachen Realisierung ist, dass generische Module nicht direkt übersetzt werden können, sondern nur ihre Ausprägungen.

Entwicklung

Die DEC wurde 1998 an Compaq verkauft; diese wiederum ging 2002 in Hewlett-Packard auf. Pflege und Weiterentwicklung der Quellen der wichtigsten Modula-3-Compiler wurde von Elego Software Solutions übernommen. Seit der Übernahme wird vor allem Critical Mass Modula-3 stetig weiterentwickelt. Die Quellen sowie Binärpakete für eine Reihe von Betriebssystemen können frei (unter einer wenig restriktiven Lizenz etwa im Vergleich zur GPL) heruntergeladen werden.

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Modula-2 — Paradigm(s) imperative, structured, modular, data and method hiding Appeared in 1978 Designed by Niklaus Wirth Typing discipline strong, static Major implementations …   Wikipedia

  • Modula-3 — Paradigm(s) imperative, structured, modular Appeared in 1980s Designed by DEC and Olivetti …   Wikipedia

  • Modula-2 — Modula Apparu en 1977 Auteur Niklaus Wirth Paradigme générique, procédural, impératif …   Wikipédia en Français

  • Modula-3 — Modula 2 Modula Apparu en 1977 Auteur …   Wikipédia en Français

  • Modula-II — Modula 2 Modula Apparu en 1977 Auteur …   Wikipédia en Français

  • Modula-2 — Paradigmen: imperativ, strukturiert, modular Erscheinungsjahr: 1978 Entwickler: Niklaus Wirth Einflüsse: Pascal …   Deutsch Wikipedia

  • Modula-3 — Información general Paradigma multiparadigma: imperativo, estructurado, modular Apareció en Años 1980 Diseñado por DEC y …   Wikipedia Español

  • Modula — 2 ist eine 1978 entstandene Weiterentwicklung der Programmiersprache Pascal und wurde wie diese von Niklaus Wirth entwickelt. Hauptkennzeichen von Modula 2 sind die Sprachmerkmale zur Modularisierung von Programmen. Modula 2 diente selbst später… …   Deutsch Wikipedia

  • Modula 2 — ist eine 1978 entstandene Weiterentwicklung der Programmiersprache Pascal und wurde wie diese von Niklaus Wirth entwickelt. Hauptkennzeichen von Modula 2 sind die Sprachmerkmale zur Modularisierung von Programmen. Modula 2 diente selbst später… …   Deutsch Wikipedia

  • Modula-2+ — Paradigm(s) imperative, structured, modular Appeared in 1980s Designed by DEC Systems Research Center SRC and Acorn Research Center Developer DEC Systems Research Center SRC and Acorn Research …   Wikipedia

  • Modula-2 — Desarrollador(es) http://www.modula2.org Información general Paradigma Programación imperativa, Programación modular …   Wikipedia Español

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”