Auflistung nach Autor:in "Langmaack, Hans"
1 - 6 von 6
Treffer pro Seite
Sortieroptionen
- ZeitschriftenartikelDijkstras fruchtbarer, folgenreicher Irrtum(Informatik-Spektrum: Vol. 33, No. 4, 2010) Langmaack, HansTeil 2 des vorliegenden Artikels liefert eine an der ALGOL60-Kopierregel orientierte Definition der ,,most recent“-Eigenschaft oder -Korrektheit eines Programms. Anschließend werden Programmbeispiele aus der Fachlitaratur diskutiert, welche die von E.W. Dijkstra behauptete ,,most recent“-Korrektheit aller Programme widerlegen. Anhand weiterer Beispiele möchten deren Autoren zwar die besonderen Komplikationen beim Ausführen formaler Prozeduraufrufe in block- und prozedurgeschachtelten Programmen demonstrieren, treffen aber dennoch nicht die ,,most recent“-Problematik.
- ZeitschriftenartikelDijkstras fruchtbarer, folgenreicher Irrtum(Informatik-Spektrum: Vol. 33, No. 3, 2010) Langmaack, HansDer 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.
- ZeitschriftenartikelDijkstras fruchtbarer, folgenreicher Irrtum(Informatik-Spektrum: Vol. 33, No. 6, 2010) Langmaack, HansWeil 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.
- TextdokumentFriedrich L. Bauers und Klaus Samelsons Arbeiten in den 1950er-Jahren zur Einführung der Begriffe Kellerprinzip und Kellerautomat(Keller, Stack und automatisches Gedächtnis – eine Struktur mit Potenzial, 2015) Langmaack, HansF. L. Bauer und K. Samelson leisteten außerordentliche Pionierbeiträge zur Informatik, insbesondere zur Programmierung elektronischer Rechenanlagen und zur Entwicklung, Definition und Implementierung höherer Programmiersprachen. Über die im Titel genannte Thematik Kellerprinzip und -automat hinaus wird auf einige Vorläufer des Kellergedankens eingegangen.
- ZeitschriftenartikelKlaus Samelsons frühe Beiträge zur Informatikentwicklung(Informatik-Spektrum: Vol. 25, No. 2, 2002) Langmaack, HansKlaus Samelson, 1918 geboren und leider schon 1980 gestorben, leistete in den 1950/60er Jahren außerordentliche Pionierbeiträge zur Informatik, insbesondere zur Programmierung elektronischer Rechenanlagen und zur Entwicklung, Definition und Implementierung höherer Programmiersprachen.
- ZeitschriftenartikelManfred Paul (1932–2021)(Informatik Spektrum: Vol. 45, No. 1, 2022) Langmaack, Hans; Schmidt, Gunther