www.wikidata.de-de.nina.az
Modula 3 ist eine imperative objektorientierte Programmiersprache Sie versteht sich als Nachfolger von Pascal Modula 2 Modula 2 und Cedar 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 Lange der Programme oder auf eine Orientierung an personlichen Programmiergewohnheiten Eigenschaften BearbeitenModula 3 besitzt folgende Eigenschaften eine saubere und robuste Syntax strenge und statische Typen Ordinale Typen Ganze Zahlen Aufzahlungen Zeichen Wahrheitswerte Unterbereiche ordinaler Typen Mengen uber ordinalen Typen Felder mit ordinalen Typen als Indizes Gleitkommazahlen Texte Datenverbunde und Objekte Unterprogramme und Funktionen Module Generische Module templates teilweise Aufdeckung von Untertypbeziehungen partial revelation automatische Speicherbereinigung garbage collection Ausnahmebehandlung exceptions nebenlaufige Programmierung threads Trennung von sicheren und unsicheren ProgrammteilenDie oben genannten Konzepte wurden regelrecht minimalistisch umgesetzt Dies erleichtert die Einarbeitung fur 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 fur 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 SignaturPROCEDURE P self T 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 konnen daruber hinaus beliebig feine Abstufungen von Zugriffsmoglichkeiten 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 ausgewahlte IMPORT Anweisungen variabel halten Nachteil dieser einfachen Realisierung ist dass generische Module nicht direkt ubersetzt werden konnen sondern nur ihre Auspragungen Entwicklung BearbeitenDie 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 ubernommen Seit der Ubernahme wird vor allem Critical Mass Modula 3 stetig weiterentwickelt Die Quellen sowie Binarpakete fur eine Reihe von Betriebssystemen konnen frei unter einer wenig restriktiven Lizenz etwa im Vergleich zur GPL heruntergeladen werden Weblinks BearbeitenModula 3 Ressourcen mit FAQ Bibliographie und Links zu verschiedenen Implementierungen Modula 3 Tutorial zum leichten Einstieg Modula 3 Installation unter Windows Newsgroup zu Modula 3 Laszlo Boszormenyi amp Carsten Weich Programming in Modula 3 An Introduction in Programming in Style program examples Memento vom 14 August 1997 im Internet Archive Normdaten Sachbegriff GND 4294172 6 lobid OGND AKS Abgerufen von https de wikipedia org w index php title Modula 3 amp oldid 234774110