Peter J. Landin
# Peter J. Landin

Peter John Landin (* 5. Juni 1930 in Sheffield; † 3. Juni 2009) war ein britischer Informatiker. Er war einer der Pioniere der Informatik, dessen Arbeiten aus den frühen 1960er Jahren einen profunden Einfluss auf die Entwicklung der Programmiersprachen ausübten. Sie lenkten den Blick auf den ‚applikativen Kern‘ von Programmiersprachen, eine Einsicht von großer Bedeutung für die Entwicklung von funktionalen Programmiersprachen und der denotationellen Semantik.

Peter Landin studierte an der University of Cambridge. Von 1960 bis 1964 war er Assistent von Christopher Strachey, der zu dieser Zeit freier IT-Berater in London war. Die meisten seiner Publikationen stammen aus dieser Zeit und der kurzen Zeit, in der er in den Vereinigten Staaten bei Univac arbeitete. Danach wurde er an das Queen Mary College der University of London berufen und mit dem Aufbau der Informatik dort beauftragt. Dem widmete er sich in den 1970er und 1980er Jahren, entwickelte Kurse und lehrte theoretische Informatik. Auch nach seiner Emeritierung blieb er dem College als Lehrer erhalten.

Auf einer Tagung über die Geschichte der Semantik von Programmen im Science Museum in London im Jahr 2001 berichtete er vom Beginn seiner wissenschaftlichen Karriere in der Informatik in den späten 1950er Jahren und davon, wie sehr er durch das Studium von John McCarthys Programmiersprache LISP beeinflusst wurde, und das zu einem Zeitpunkt, als Fortran die am häufigsten verwendete Programmiersprache war.

Er nahm aktiv an der Definition der Programmiersprache ALGOL teil. und schrieb eine der ersten formalen Beschreibungen dieser Programmiersprache. Tony Hoare bezeichnet ihn als einen der Menschen, die ihm Algol 60 beibrachten und ihm so die Formulierung mächtiger rekursiver Algorithmen erlaubten:

    „Gegen Ostern 1961 wurde in Brighton, England ein ALGOL 60-Kurs mit Peter Naur, Edsger W. Dijkstra, und Peter Landin als Referenten veranstaltet. Dort erfuhr ich zum ersten Mal etwas über rekursive Prozeduren und sah, wie man das Programm eigentlich schreiben sollte, das ich früher nur so schwer erklären konnte. Gleich vor Ort schrieb ich die Prozedur, die ich unbescheidenerweise QUICKSORT nannte und auf der meine Karriere als Informatiker gegründet ist. Das Verdienst dafür ist dem Genie der Entwickler von ALGOL 60 geschuldet, die in ihrer Sprache Rekursion erlaubten und es mir so ermöglichten, meine Erfindung so elegant für die Welt zu beschreiben. Ich habe es immer als das höchste Ziel des Entwurfs von Programmiersprachen betrachtet, den eleganten Ausdruck guter Ideen zu ermöglichen.“

Landin zeichnet auch für die Erfindung der SECD-Maschine und der Programmiersprache ISWIM verantwortlich, erfand auch die off-side rule (eigentlich: Abseitsregel) für Programmiersprachen und den Begriff Syntaktischer Zucker. Die off-side rule erlaubt es, Abschnitte innerhalb von Programmen durch den Gebrauch von white space zu definieren und wird unter anderem in den Sprachen Miranda, Haskell und Python verwendet.

Eine andere Redeweise, die auf Landin zurückgeht, ist „Die nächsten 700 …“ nach seiner folgenreichen Arbeit The next 700 programming languages. Die Zahl 700 hatte Landin gewählt, weil er in einem Bericht der American Mathematical Association gelesen hatte, dass es damals bereits 1700 Programmiersprachen gab, um in über 700 Anwendungsbereichen zu ‚kommunizieren‘. Mit der Programmiersprache ISWIM, die er in diesem Vortrag konzipierte, hätte er gleichsam 700 Programmiersprachen auf einen Schlag geschaffen, da ISWIM als Kern um jeweils anwendungsspezifische Elemente ergänzt werden sollte. Sie enthält auch die scherzhafte Bemerkung

    „Ein möglicher Schritt im Forschungsprogramm wäre die Anfertigung von 1700 Doktorarbeiten mit dem Titel A Correspondence between x and Church's λ-notation“

eine Anspielung auf seine frühere Arbeit. Diese Art trockenen Humors findet sich in vielen seiner Veröffentlichungen.

## Wichtige Veröffentlichungen

* The mechanical evaluation of expressions. The Computer Journal, vol 6 (1964), no. 4. pp. 308–320
* A correspondence between ALGOL 60 and Church's lambda notation. Commun. ACM 8, 89–101, 158–165.
* The next 700 programming languages. Commun. ACM 9, 3, 157–166.
