Langmaack, Hans2018-01-052018-01-0520102010https://dl.gi.de/handle/20.500.12116/9547Weil die realen Probleme um das Implementieren ALGOL-artiger Programmiersprachen mit geschachtelten und formalen Prozeduren durch Korrektheitsbeweise hätten vermieden werden können, bietet Teil 3 des vorliegenden Artikels solche musterhaft, auf passend abstraktem Niveau, an: im Falle der vom ALGOL60-Bericht intendierten Sprachsemantik mit statischer Namensbindung und im Falle der von Dijkstras Laufzeitsystem vorgeschriebenen MR-Semantik mit dynamischer Namensbindung (MR gleich ,,most recent“). Im Grunde arbeitet ein Laufzeitsystem gemäß einer Großschrittkopierregel, während sich der Anwendungsprogrammierer für eigenes Programmverstehen besser an eine Kleinschrittkopierregel hält, die keine Kenntnisse vom Laufzeitsystem verlangt. Die funktionale Programmiersprache Lisp erlebte ein ganz ähnliches Ausspielen dynamischer gegen statische Namensbindung.Die praktische Weiterentwicklung von Programmiersprachen und -techniken suchte den Problemen der Semantikunterschiede zu entgehen, indem man in wenig organischer Weise formale Prozeduren oder Schachtelung prozedurverwandter Konstrukte ausschloß. Überdies versprachen theoretische Resultate zur Programmspezifikation und -verifikation auf den ersten Blick, generelles dynamisches Binden sei dem statischen wegen des besseren Mechanisierungspotentials überlegen. Solche Maßnahmen und Sichten erschweren dennoch das Softwareverfeinern unter Informationsverbergen und das Softwareverifizieren; statische Namensbindung pflegt zu allgemeineren Gesetzen und Regeln mit klareren Bezügen zur mathematischen Logik zu führen.Beachtenswerterweise kann nicht einmal objektorientiertes Programmieren mit ungeschachtelten Klassen die inhärente Komplexität der Verweisstrukturen zwischen Prozedurinkarnationen herunterschrauben, Strukturen, wie sie ALGOL-artige Programme mit formalen Prozeduren zur Laufzeit hervorbringen können. Das Verstehen von objektorientierten Programmen ist nicht leichter als das von Programmen mit formalen Prozeduren.Dijkstras fruchtbarer, folgenreicher IrrtumText/Journal Article1432-122X