Lisp ist eine Familie von Computerprogrammiersprachen mit einer langen Geschichte und einer charakteristischen, vollständig eingeklammerten Präfix-Notation. Ursprünglich 1958 spezifiziert, ist Lisp die zweitälteste Hochsprache, die heute weit verbreitet ist. Nur Fortran ist um ein Jahr älter.
Lisp wurde von John McCarthy erfunden, als er am Massachusetts Institute of Technology (MIT) tätig war. McCarthy veröffentlichte seinen Entwurf 1960 in der Zeitschrift Communications of the ACM unter dem Titel "Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I". Er zeigte, dass man mit ein paar einfachen Operatoren und einer Notation für Funktionen eine Turing-komplette Sprache für Algorithmen erstellen kann.
Lisp wurde seither an viele verschiedene Zwecke angepasst, zu den wichtigsten Dialekten gehören Common Lisp, Scheme, Clojure und Emacs Lisp. Lisp hat viele andere Programmiersprachen beeinflusst und war die erste Sprache, die zur Entwicklung künstlicher Intelligenz (KI) verwendet wurde.
Lisp ist eine dynamische, interpretierte Sprache. Sie wird in einer Vielzahl von Anwendungen eingesetzt, von kommerzieller Software bis hin zu Forschungsprojekten.
Common Lisp ist der am weitesten verbreitete Dialekt von Lisp. Er wurde ursprünglich von Guy Steele und Richard Gabriel in den frühen 1980er Jahren entwickelt. Common Lisp ist eine standardkonforme, universelle Programmiersprache. Sie verfügt über eine inkrementelle Entwicklungsumgebung, leistungsfähige Debugging-Werkzeuge und einen umfangreichen Satz von Bibliotheken.
Scheme ist ein Dialekt von Lisp, der mit einer viel einfacheren Syntax und Semantik als Common Lisp entwickelt wurde. Scheme ist in der Ausbildung weit verbreitet und eignet sich aufgrund seiner geringen Größe für eingebettete Systeme.
Clojure ist ein Dialekt von Lisp, der auf der Java Virtual Machine (JVM) läuft. Es handelt sich um eine Allzwecksprache mit dem Schwerpunkt auf funktionaler Programmierung. Clojure ist in der Softwarebranche weit verbreitet und wird von vielen großen Unternehmen für unternehmenskritische Anwendungen eingesetzt.
Emacs Lisp ist der Lisp-Dialekt, der im Texteditor GNU Emacs verwendet wird. Er wird auch in einer Reihe von anderen Programmen verwendet, darunter die Org-mode-Produktivitätssuite und der Gnus-Newsreader. Emacs Lisp ist eine vollwertige Programmiersprache mit einer Vielzahl von Bibliotheken und Werkzeugen für die Entwicklung.