WikiDer > Algol (Programmiersprache)

Algol (programmeertaal)

algol ist eine sehr einflussreiche Serie Programmiersprachen, entworfen zwischen 1958 und 1973. Der Name ist eine Abkürzung für Algorithmische Sprache.

Algol entstand aus dem Wunsch heraus, ein universell einsetzbares, maschinenunabhängig eine Programmiersprache zu schaffen, die für Menschen leicht verständlich sein musste und daher der üblichen mathematischen Notation und Ausdrucksweise in . entsprach natürliche Sprachen wie Englisch oder Niederländisch.

Dieses Unterfangen ist gescheitert: Die universelle Programmiersprache ist nicht verwirklicht worden. Aber die meisten Programmiersprachen haben sich seitdem entwickelt und verwenden immer noch alle möglichen Ideen, die in einer der Versionen von Algol eingeführt wurden.

Geschichte

Es gibt mehrere Programmiersprachen namens Algol, darunter Algol-58, Algol-60, Algol-W und Algol-68.

Algol-58 (ursprünglich IAL genannt) wurde zur gleichen Zeit und mit den gleichen Zielen entwickelt wie COBOL und fortran, und ähnelt dem letzteren. Es wurde nie wirklich ein fertiges Produkt, aber es diente als Inspirationsquelle für viele andere Sprachen.

Algol-60 wurde als Nachfolger von Fortran u.a. teilweise von einem der Konstrukteure von Fortran entwickelt, John Backus; teilnehmende Niederländer waren Edsger W. Dijkstraße und Aad of Vineyards. Der Mangel an Unterstützung durch Computerhersteller hat jedoch seinen Einsatz hauptsächlich auf den akademischen Bereich beschränkt. Eine sehr einflussreiche Neuerung in dieser Sprache war die Unterstützung beliebig verschachtelbarer Blockstrukturen (beschrieben mit a Grammatik durch die Backus-Naur-Notation) wobei Variablen ein lokales . haben erreichen haben können. The American Professional Association ACM beschlossen, dass diese Sprache die Standardsprache für die Anzeige von Algorithmen wird (Pseudocode) in ihrem Magazin Mitteilungen des ACM.[Quelle?]

Algol-W wurde entwickelt von Tony Hoare und Niklaus Wirth als Vereinfachung von Algol-60. Wirth entwickelte einen Compiler für die IBM 360 der die Sprache populär gemacht hat.

Algol-68 war als Nachfolger von ALGOL-60 gedacht, mit dem Designziel, eine universelle Programmiersprache zu schaffen, in der beliebige Computer leicht für beliebige Zwecke programmiert werden können, indem alle Arten von Einrichtungen und Programmiertechniken möglichst allgemein vereint werden.

Der Abschlussbericht enthielt einen komplexen formale Spezifikation in einem eigens dafür entwickelten mathematischen Formalismus die Van Wijngaarden Grammatik. Es legt Form und Bedeutung der Sprache maschinen- und kompilerunabhängig fest und erlaubt prinzipiell formale Aussagen über die Korrektheit von Programmen und Compiler für die Sprache.

Mehrere Mitglieder des Designteams, darunter Dijkstra, Hoare und Wirth, stellten jedoch fest, dass die Sprache und ihre Spezifikation so umfangreich und komplex wurden, dass die Herstellung Compiler wurde undurchführbar und seine Praktikabilität für Programmierer litt ebenfalls.

Trotz überarbeiteter Spezifikation (1973), die viel verständlicher war und einige lästige Konstrukte strich, war bereits das allgemeine Urteil gefallen: Eine universelle Programmiersprache kann ein zu hohes Ziel sein, und sie auf Papier von einem Komitee ohne praktische Implementierungen zu entwerfen, ist möglicherweise nicht die beste Methode. Seitdem ist es fast allgemein anerkannt, dass Programmiersprachen immer beschränkt sind: auf bestimmte Computertypen, auf bestimmte Anwendungstypen oder auf bestimmte... Programmierparadigmas. Die wichtigste Ausnahme hiervon ist Ada.

Ein Compiler oder Interpreter, der Algol-68 vollständig implementiert, existiert nicht, aber Algol 68 Genie ist eine neuere, fast vollständige Implementierung, die unter der GPL verfügbar ist. In der Vergangenheit gab es Implementierungen, die Teilmengen implementierten, die viel reichhaltiger waren als sagen wir Pascal. Diese waren in den 1970er und 1980er Jahren in der Wissenschaft populär. Heutzutage wird die Sprache manchmal auch für Pseudocode verwendet. Auch Sprachkonstruktionen aus Algol-68 werden immer noch als neu in neue oder bestehende Sprachen eingeführt, wie die Kombination von statisches Tippen mit Funktionen höherer Ordnung und Lambda-Ausdrücke.

Siehe auch

Externe Links

Lesetipp

Robert W. Sebesta, Konzepte von Programmiersprachen

Quellen

Artikel über Algol von David und Chon (Information Technology, Amsterdam University of Applied Sciences)