KI-Glossar ·Geschichte

Lisp

Auch: LISP, List Processing, Common Lisp, Scheme

Lisp ist eine 1958 von John McCarthy entworfene Programmiersprache, die Programme und Daten in derselben Listenstruktur darstellt — jahrzehntelang die vorherrschende Sprache der KI-Forschung.

Entstehung

John McCarthy entwarf Lisp 1958 am MIT und beschrieb es 1960 in Recursive Functions of Symbolic Expressions and Their Computation by Machine. Der Name steht für LISt Processing. Nach Fortran (1957) ist Lisp die zweitälteste höhere Programmiersprache, die bis heute verwendet wird. McCarthy hatte drei Jahre zuvor auch den Begriff „artificial intelligence“ geprägt, im Antrag zur Dartmouth-Konferenz von 1956.

Programme als Listen

Alles in Lisp ist eine Liste in Klammern, auch der Code selbst: (+ 1 2) ist eine Liste aus dem Symbol + und zwei Zahlen und zugleich der Aufruf einer Addition. Diese Eigenschaft heißt Homoikonizität — Programmtext und Datenstruktur fallen zusammen. Ein Lisp-Programm kann deshalb andere Programme als gewöhnliche Daten aufbauen, verändern und anschließend ausführen.

Bedeutung für die KI

Genau diese Eigenschaft machte Lisp zur Sprache der Wahl für den damals vorherrschenden Ansatz: Symbolische KI stellt Wissen als Symbole und Regeln dar. Wer so arbeitet und ein System Schlüsse ziehen lässt, braucht eine Sprache, in der sich Symbolstrukturen zur Laufzeit erzeugen und umformen lassen. Dazu kamen Merkmale, die Lisp zuerst hatte und die heute selbstverständlich sind: automatische Speicherbereinigung, Rekursion als Normalfall, dynamische Typisierung und die interaktive Eingabeschleife (REPL), in der Code sofort ausprobiert wird. In den 1970er- und 1980er-Jahren entstanden sogar eigene Lisp-Maschinen — Arbeitsplatzrechner, deren Hardware auf die Sprache zugeschnitten war.

Niedergang und Fortbestand

Ab 1987 brach der Markt für Lisp-Maschinen ein: Allgemeine Arbeitsplatzrechner von Sun und Apple wurden schnell genug und waren deutlich günstiger. Der Zusammenbruch dieses Marktes gilt als eines der Ereignisse, die den zweiten KI-Winter auslösten. Die Sprache selbst blieb: Common Lisp und Scheme werden weiter eingesetzt, Clojure bringt das Modell auf die Java-Plattform, und Konzepte aus Lisp — Funktionen als Werte, Rekursion, automatische Speicherverwaltung, Listenverarbeitung — sind in Sprachen wie Python selbstverständlich geworden.

Im Netz verbunden

wird genutzt von
Im Wissensnetz ansehen