Zhaohan Chen SS061 SIMULA-an Algol Based Simulation Language geschrieben von: Zhaohan Chen Betreuer: Prof. Dr. Rainer Manthey
Zhaohan Chen SS06 2 Inhaltsübersicht Quellen Einleitung Sprachekonzept Zusammenfassung
Zhaohan Chen SS06 3 Quellen Ole-Johan Dahl, Kristen Nygaard: SIMULA - an ALGOL-based Simulation Language. CACM 9(9), , Ole-Johan Dahl: SIMULA, Vortrag aus der Konferenz Software Pioneers, Bonn,Juni
Zhaohan Chen SS06 4 kurzinfo Einleitung Simula = Simulation Language Motivation: Durchführung von z.B. physikalische Prozessen am Rechner Anwendungen: - Simulationsprobleme: z.B. Schlangen im Supermarkt, Reaktionszeiten von Notdiensten - Chipherstellung
Zhaohan Chen SS06 5 Die Entwickler von Simula Einleitung Kristen Nygaard (* , ) Norwegischer Informatiker und Mathematiker Ole-Johan Dahl (* , ) Norwegischer Informatiker
Zhaohan Chen SS06 6 Algol 60-Basis von Simula Einleitung wichtige Eigenschaften: -Blockstruktur -Programmiersicherheit Weiteres: -erstmalig Schleifenstrukturen -Datenstrukturen getrennt von Prozeduren
Zhaohan Chen SS06 7 Entwicklungsstufen von Simula Einleitung Simula 0 ( ) Algol Pre-Compiler Simula 1 ( ) Compiler, der Programme/Probleme simuliert Simula 67 ( ) - Vollständige Programmiersprache mit erweiterbaren Funktionen (Simulationen) - Einführung von Klassen, Unterklassen, Objekten
Zhaohan Chen SS06 8 Klassen Sprachekonzept Menge alle Klassen: hierarchische Baumstruktur z.B. mit den Klassen A,B,C,D und E: Unterklassenbeziehungen: z.B. B unter A und C unter B, C aber auch unter A (indirekt) B E CD A
Zhaohan Chen SS06 9 Klassen(2) Sprachekonzept Bsp. Vereinbarung einer Klassendefinition: -Klassename: Person -Attribute: vorname, nachname, geschlecht class Person; begin text vorname, nachname, geschlecht; vorname:= John; end;
Zhaohan Chen SS06 10 Klassen(3) Sprachekonzept alle Klassen weisen folgende Struktur auf: geerbte Attribute neue Attribute Block-Kopf AnweisungenBlock-Hauptteil geerbte Prozeduren Block-Ende neue Prozeduren
Zhaohan Chen SS06 11 Vererbung Sprachekonzept Bsp. -Oberklasse: Person, Unterklasse: Vater -Vater erbt 3 Attribute: vorname, nachname, geschlecht class Person; begin text vorname, nachname, geschlecht; vorname:= John; end; Person class Vater; begin outint(Vater.vorname); end;
Zhaohan Chen SS06 12 Vererbung(2) Sprachekonzept Prinzip von OJD genannt. Übertragen von Eigenschaften von Ober-auf Unterklassen Eigenschaften: Attribute und Prozeduren auch: Deklarationen und Anweisungen Überdeckung: Standardvorgehensweise definiert: Unterklassendeklarationen überdecken Vererbungseigenschaften
Zhaohan Chen SS06 13 Referenzen Sprachekonzept Zugriff auf einzelne Objekte über sog. Referenzen Bsp. -Referenztype: ref (Person) -drei Referenzvariablen: vorname, nachname, geschlecht class Person; begin text vorname, nachname, geschlecht; ref (Person) Peter; end;
Zhaohan Chen SS06 14 Referenzen(2) Sprachekonzept verschiedene Sichten auf Objekte: zwei Zugriffsarten: lokale Zugriffe und Fremdzugriffe innere Sichtäußere Sicht lokal definierte Variablen mit bestimmtem Datentyp Objekte von außerhalb als Prozeduren und Variablen ansteuerbar initiierende Anweisungen, operieren auf lokalen Variablen Mechanismen zum Anlegen neuer Objekte aus Klassen
Zhaohan Chen SS06 15 Objekte Sprachekonzept Bsp. jede Objekt gehört zu einer Klasse folgt gleiche Verhaltensschema und innere Struktur hier: heute.jahr=2006 class datum; begin text tag; text jahr:=2006; ref(datum) heute; … end
Zhaohan Chen SS06 16 Zusammenfassung von Kristen Nygaard und Ole-Johan Dahl in 60Jahren in Norwegen entwickelt erste objektorientierte Programmiersprache direkte Nachfolger: SMALLTALK weiteres: C++, Java heute nicht mehr sehr weit verbreitet