zu www.bildungsgueter.de zur Inhaltsübersicht des Kapitels

LISP - Geschichte und gegenwärtiger Stand

Überblick


Ursprung von LISP

Lisp (List Processing Language) ist eine sehr alte und sehr ungewöhnliche Programmiersprache, die im Forschungs­bereich der künstlichen Intelligenz entstand. Lisp wurde durch John McCarthy am MIT entwickelt. Die erste Beschreibung der Sprache wurde im Jahr 1962 veröffentlicht.

Der Begriff "künstliche Intelligenz" ist ziemlich undeutlich und zugleich überaus ambitioniert. Es überrascht daher nicht, dass die sehr hoch­ge­steck­ten Erwar­tungen nicht immer erfüllt werden konnten. Trotzdem wurden mit Lisp viele originelle und einige wegweisende Arbeiten durch­ge­führt. Vor allem in der Computer­algebra, dem regel­basierten Programmieren und der Sprach­ver­ar­bei­tung wurden mit LISP wesentliche Fort­schritte erzielt. In gegen­wär­ti­gen For­schungs­vor­ha­ben im Umfeld der künst­lichen Intelligenz spielt LISP keine große Rolle mehr.

Ein Kuriosum in der Geschichte der Informatik ist sicher das um 1966 in LISP geschriebene Programm Eliza, das seinen Benutzern die Illusion eines ver­ständ­nis­vollen Dialogs über ihr Befinden vermittelte. Eliza veranlasste Geistes­wis­sen­schaftler unter­schied­licher Disziplinen zu kom­pli­zier­ten und gelegentlich ziemlich substanz­losen Grübeleien. Es hätte genügt, Eliza als einen Scherz­artikel zu klas­si­fi­zie­ren, aber für diese Einsicht fehlte der Bildungs­elite jener Zeit die Erfahrung im Umgang mit Computern.

Lisp wurde in den 50 Jahren seit seiner erstmaligen Veröffentlichung mehrfach modernisiert. CommonLisp und Scheme sind heute die beiden wichtigsten Varianten. Beide Varianten stehen für den Raspberry Pi zur Verfügung und beide Varianten können auch Gtk+ 2 verwenden.

Lisp ist in vieler Hinsicht einzigartig, und eine unübersehbare Einzigartigkeit der Sprache ist ihre Schreibweise. Eine kleine Kostprobe wird dich überzeugen:

()

So erstaunlich das aussieht; für den an Lisp gewöhnten Programmierer ist das sehr übersichtlich. Für den Augenblick genügt es, zu merken:

Tatsächlich sind Klammern das einzige Strukturierungsmittel der Sprache.

Lisp basiert auf einer Datenstruktur, die für die Darstellung von Daten und Programmen verwendet wird.

Mit Lisp wurden einige grundlegende Ideen erstmals realisiert, die später in Programmiersprachen wie Python, Haskell, OCaml übernommen wurden. Zu nennen sind:

Die Darstellung von Programmcode und Daten erfordert in Lisp nur zwei Datenstrukturen: Atome und Paare. Diese Knappheit an Darstellungsmitteln macht die Programmierung eines einfachen Interpreters für Lisp zu einer recht überschaubaren Aufgabe.


Erforderliche Software

Für die Compilierung wird ISO Pascal (ISO 7185) benötigt. TurboPascal und Delphi genügen der Anforderungen nicht.

Unter den frei verfügbaren Compilern kommen GNU Pascal und FreePascal in Betracht.

sudo apt-get install fpc

Dieser Befehl installiert den Free Pascal Compiler, der ab der Version 3.0 die Norm ISO 7185 Level 0 und Level 1 vollständig implementiert. Für das hier bereitgestellte Programm ist die Implementierung von Level 0 erforderlich und ausreichend. (Das heißt, dass keine konformant arrays verwendet werden.)

Für das Verständnis des hier beschriebenen Programms ist die Kenntnis der Norm ISO 7185 nicht erforderlich.


zur Inhaltsübersicht des Kapitels