www.wikidata.de-de.nina.az
Simula ist eine Programmiersprache die von Ole Johan Dahl und Kristen Nygaard in den 1960er Jahren am Norsk Regnesentral Norwegisches Rechenzentrum an der Universitat Oslo entwickelt wurde um Simulationen von z B physikalischen Prozessen am Rechner durchfuhren zu konnen Die Sprache gilt als erste objektorientierte Programmiersprache Sie baute auf der Definition von Algol 60 auf ist blockstrukturiert mit den ublichen Grunddatentypen und Kontrollstrukturen und fuhrt Klassen ein die die Konzepte von Datenstrukturen und Koroutinen vereinigen Simula gilt als Vorganger von Smalltalk Viele der mit Simula eingefuhrten Konzepte finden sich in modernen objektorientierten Programmiersprachen wieder Das Klassenkonzept von Simula 67 diente beispielsweise als Vorbild fur das von C die Sprache benutzte schon damals einige der noch heute in modernen objektorientierten Programmiersprachen verwendeten Schlusselworter wie class new this Das Wort Simula setzt sich aus den Bestandteilen simu fur simulation und la fur language zusammen Inhaltsverzeichnis 1 Objekte 2 Entstehungsgeschichte 3 Literatur 4 WeblinksObjekte BearbeitenDie Sprache basiert auf Algol 60 erganzt diese aber um Konzepte von Objekten und Koroutinen Simula fuhrt auch das Klassenkonzept ein Was in spateren Jahren unter den Begriffen Datenabstraktion das Verbergen von Implementierungsdetails oder Modularisierung das Trennen eines Programms in Funktionseinheiten bekannt wurde ist schon in Simula als Begriff vorhanden Ein Objekt fasst Untereinheiten ggf unterschiedlicher Datentypen zu einer neuen Einheit zusammen Zur Manipulation eines Objektes werden dazu passende Prozeduren und Funktionen vereinbart In Simula ist diese Implementierung noch nicht fur andere Blocke unsichtbar aber der erste Schritt in diese Richtung ist getan Gibt es mehrere Objekte mit einer ahnlichen Struktur die sich vielleicht nur in einigen Komponenten unterscheiden so besteht die Moglichkeit Ober und Unterklassen zu vereinbaren was heutzutage als Vererbung bezeichnet wird Zusatzlich gibt es eine Moglichkeit sogenannte Koroutinen zu vereinbaren damit Objekte miteinander kommunizieren und selbstandig agieren konnen und es gibt grosse Bibliotheken mit Funktionen zur Verwaltung von Warteschlangen und zur Ausfuhrung von Prozeduren zu festgelegten Zeitpunkten so dass es auch moglich ist umfangreiche Simulationen zu programmieren Die Sprache fand ausserhalb Europas kaum Verbreitung obwohl sie in Skandinavien sehr verbreitet war 1987 wurde der letzte gultige Simula Standard verabschiedet Hier ist ein Code Beispiel Vereinbarung einer Klassendefinition class datum begin integer tag monat jahr jahr 1992 end Erzeugung eines Datum Objektes ref datum heute Variable vom Typ Zeiger auf datum heute new datum Erzeugung eines Objektes und Zuweisung der Referenz an heute mit outint datum jahr 6 Ausgabe der Jahreszahl Verwendung von Datum als Oberklasse der Wochentag wird hinzugefugt datum class tagesdatum begin ref string wochentag end Entstehungsgeschichte Bearbeiten1962 trafen sich Ole Johan Dahl und Kristen Nygaard am Norsk Regnesentral NR in Oslo im selben Jahr wurde eine erste formale Beschreibung der Sprache auf dem IFIP 62 Weltkongress in Munchen vorgestellt Als UNIVAC das Simula Projekt unterstutzte wurde eine UNIVAC 1107 am NR installiert Ein erster Prototyp eines Simula Compilers lief 1964 auf der UNIVAC 1107 des NR und das Simula I Handbuch wurde 1965 veroffentlicht 1967 erschien die uberarbeitete Sprachversion Simula 67 fur die auf mehreren damals existierenden Grossrechnersystemen Compiler entwickelt wurden In den 70er Jahren wurde Simula in der Praxis vielfach eingesetzt und die theoretischen Konzepte der Sprache hatten grossen Einfluss auf damals moderne Programmiersprachen Die Konzepte der Objektorientierung wurden weiterentwickelt und schliesslich in Smalltalk 80 erstmals konsequent umgesetzt Die erste Smalltalk Version wurde in Simula geschrieben Erzahlt wird dass Dahl und Nygaard an Schiffssimulationen gearbeitet hatten Dabei ergab sich durch die kombinatorische Explosion von Parameterbeziehungen eine verwirrende Vielfalt an Moglichkeiten wie sich die verschiedensten Attribute der unterschiedlichen Schiffe gegenseitig beeinflussen konnten So kam die Idee auf die unterschiedlichen Schiffstypen jeweils als eigenstandige Objekte zu klassifizieren wobei jede Klasse von Objekten fur die eigenen Daten und das eigene Verhalten selbst zustandig war Simula wird heute immer noch gelegentlich eingesetzt aber der historische Einfluss der Sprache ist wichtiger als ihre Bedeutung in der modernen Programmierung In den skandinavischen Landern wurde Simula lange Zeit als Ausbildungssprache verwendet das Buch SIMULA begin gilt auch in Deutschland als Klassiker Bjarne Stroustrup der als Student das Programmieren mit Simula erlernt hatte und bei seinem spateren Arbeitgeber AT amp T in C programmieren musste reicherte C mit Hilfe eines Praprozessors cfront um die wesentlichen Konstrukte von Simula an um weiter in der erlernten Art programmieren zu konnen Seine Erweiterung hiess zunachst C with classes und ist heute als C bekannt Ein Nachfolger von Simula mit dem Namen Beta wurde zwar entwickelt aber kaum eingesetzt Literatur BearbeitenHelmut Rohlfing SIMULA Eine Einfuhrung Bibliographisches Institut Mannheim 1973 ISBN 3 411 00747 8 G M Birtwhistle and O J Dahl and B Myhrhaug and K Nygaard SIMULA begin Studentlitteratur Lund Schweden 1973 Weblinks BearbeitenLiteratur uber Simula im Katalog der Deutschen Nationalbibliothek Ole Johan Dahl The Birth of Object Orientation PDF 132 kB englische ausfuhrliche Darstellung der Historie Dahl Ole Johan Nygaard Kristen Simula An Algol based Simulation Language CACM 9 9 671 678 1966 An Introduction to Programming in Simula Eine Einfuhrung von Rob Pooley in HTML FormNormdaten Sachbegriff GND 4191599 9 lobid OGND AKS Abgerufen von https de wikipedia org w index php title Simula amp oldid 228975304