ALGOL (kurz für ALGOrithmic Language) ist eine Familie imperativer Programmiersprachen aus den späten 1950er- und 1960er-Jahren. ALGOL 60 gilt als einer der einflussreichsten Sprachentwürfe der Informatikgeschichte: Fast jede moderne Sprache – von C über Pascal bis Java – übernimmt Elemente aus seiner Syntax.
Die wichtigsten ALGOL-Konzepte
- Blockstruktur: Programme bestehen aus verschachtelten Blöcken, die mit
beginundendbegrenzt werden. Variablen gelten nur in ihrem Block (lokaler Gültigkeitsbereich). - Zuweisungsoperator
:=: Die Unterscheidung zwischen Zuweisung (:=) und Vergleich (=) stammt aus ALGOL und findet sich bis heute in Pascal und Modula. - Formale Syntaxbeschreibung: ALGOL 60 war die erste Sprache, deren Grammatik in der Backus-Naur-Form (BNF) beschrieben wurde – das Vorbild aller heutigen Sprachspezifikationen.
- Rekursive Prozeduren: Prozeduren können sich selbst aufrufen, Parameter werden per Wert oder per Name übergeben (call by value / call by name).
Minimales ALGOL-60-Beispiel
begin
integer i;
i := 0;
for i := 1 step 1 until 10 do
begin
print(i)
end
end
ALGOL und seine Nachfahren
ALGOL 60 wurde 1960 von einem internationalen Komitee um John Backus, Peter Naur und Friedrich L. Bauer verabschiedet. Aus der ALGOL-Linie gingen direkt hervor: Pascal-Befehle (Niklaus Wirth), Simula-Befehle (Dahl und Nygaard) und Modula-2-Befehle (Wirth). Auch die Syntax von C ist stark von ALGOL beeinflusst – C übernahm Blockstruktur, Semikolon-Trennung und die Kontrollstrukturen if/else/while.
Wer die Struktur moderner imperativer Sprachen verstehen will, findet in ALGOL 60 ihren gemeinsamen Ursprung.