Logo des Repositoriums
 
Zeitschriftenartikel

Dijkstras fruchtbarer, folgenreicher Irrtum

Vorschaubild nicht verfügbar

Volltext URI

Dokumententyp

Text/Journal Article

Zusatzinformation

Datum

2010

Zeitschriftentitel

ISSN der Zeitschrift

Bandtitel

Verlag

Springer-Verlag

Zusammenfassung

Der informatikgeschichtliche Artikel, dessen Titel durch eine Arbeit von C. L. McGowan angeregt ist, behandelt ein Problem, das E. W. Dijkstra nicht bewußt gestellt hat, sondern das er irrtümlicherweise 1960 in einer Aussage bzw. Vorschrift zur Implementierung rekursiver Prozeduren der blockstrukturierten Programmiersprache ALGOL60 aufgeworfen hat. Die irrtümliche ,,most recent“-Aussage warb implizit für dynamische statt ALGOL-intendierter statischer Namensbindung. Dieses Propagieren verursachte Irritationen beim Programmverstehen und -implementieren zwischen Anwendungsprogrammierern und Übersetzerkonstrukteuren und führte zu nichttreffenden und fehlleitenden Darstellungen in der Fachliteratur. Erstaunlicherweise erlebte das funktionale Programmieren mit Lisp eine ganz ähnliche Geschichte.Organische Weiterentwicklung von praxisrelevanten Programmiersprachen wurde durch Dijkstras Aussage deutlich gehemmt. Man suchte den genannten Irritationen zu entgehen, indem man das Auftreten formaler Prozeduren ausschloß, ungeschachteltes Programmieren forcierte oder dynamische Namensbindung als generelles semantisches Prinzip propagierte. Solche Maßnahmen erschweren allerdings das Verfeinern und Verifizieren von Software; insbesondere pflegt statische Namensbindung zu allgemeineren Gesetzen und Regeln mit klareren Bezügen zur mathematischen Logik zu führen, die man bei Programmspezifikation und -verifikation braucht.Bemerkenswerterweise kann nicht einmal objektorientiertes Programmieren mit ungeschachtelten Klassen die inhärente Komplexität der Verweisstrukturen zwischen Prozedurinkarnationen herunterschrauben, Strukturen, wie sie blockstrukturierte ALGOL-artige Programme mit formalen Prozeduren zur Laufzeit hervorbringen können. Das Verstehen objektorientierter Programme ist also durchaus nicht leichter als das von Programmen mit formalen Prozeduren. Der Weg etwa vom originalen, flachen Java hin zu Java mit inneren Klassen im Jahre 2000 ist konsequent und macht das Einbetten ALGOL-artiger Sprachen durchsichtiger.

Beschreibung

Langmaack, Hans (2010): Dijkstras fruchtbarer, folgenreicher Irrtum. Informatik-Spektrum: Vol. 33, No. 3. Berlin Heidelberg: Springer-Verlag. PISSN: 1432-122X. pp. 302-308

Schlagwörter

Zitierform

DOI

Tags