Homepage der FernUniversität in Hagen
Objektorientiertes Programmieren
Lehrgebiet Datenverarbeitunghstechnik
Startseite

2.1 Entwicklungsgeschichte von Programmiersprachen

Die Entwicklung der Sprache Fortran Fortran war ein entscheidender Abstraktionsschritt, der von vielen Details der Maschinensprachen wie Registerbenutzung und Speicherverwaltung absah und die Aufmerksamkeit des Programmierers auf algebraische Operationen hin lenkte.

Algol und PascalAlgol, Pascal gingen in der Abstraktion einen Schritt weiter, indem sie auch heute noch wesentliche Kontrollstrukturen einführten. Sie sind auch Bestandteil der Sprache Java und werden in späteren Lerneinheiten vorgestellt.

Etwas neuere Sprachen wie Modula oder Ada stellen die Datenabstraktion und die Zerlegung eines Programms in modulare Einheiten in den Vordergrund der Anwendungsprogrammierung (Abb.  2.1-2).

Struktur modularer Programme

Abb. 2.1-2:

Struktur modularer Programme

Hierbei werden die Datenstrukturen einer Anwendung in abgrenzbare Einheiten, sog. Module (im Fall von Modula) oder Pakete (bei Ada) so eingekapselt, dass Veränderungen an den Datenstrukturen ausschließlich über definierte Zugriffsoperationen erfolgen können. Die Module operieren nicht mehr auf einem gemeinsamen Datenbestand, sondern besitzen ihre eigenen Datenstrukturen, deren Aufbau nach außen verborgen bleibt. Erweiterungen werden so vereinfacht, und die Freiheitsgrade für Implementierungs- und Optimierungsentscheidungen werden größer. Dieser Konstruktionsansatz wurde von David Parnas im Jahr 1972 [Parnas72] unter der Bezeichnung Geheimnisprinzip eingeführt und liegt auch dem Prinzip der Datenabstraktion zu Grunde. Jedes einzelne Modul wird natürlich wieder mit den Mitteln des Programmierens-im-Kleinen realisiert.

Bei der datenstrukturorientierten Programmierung konstruierte man bei der Bibliotheksautomatisierung beispielsweise Module, die die verschiedenen Kataloge und Ablagen - Gesamtkatalog, Ausleihkatalog, verfügbarer Bestand, laufende Bestellungen, Rechnungen - im Rechner abbilden und entsprechende Verarbeitungsfunktionen zur Veränderung oder Abfrage dieser Datenstrukturen bereitstellen.