LISP

LISP

Copyright © Shutterstock/ Gorodenkoff

Was ist LISP?

LISP gehört zu den ältesten Programmiersprachen, die auch heute noch verwendet wurden. Veröffentlicht wurde die Sprache erstmals im Jahre 1958 vom MIT und wurde vom sogenannten Lambda-Kalkül inspiriert, dass zur Untersuchung von Funktionen genutzt wurde. Bis heute wird LISP und vor allem seine vielen Dialekte praktisch verwendet. Der Grund dafür ist nicht nur, dass viele alte Systeme nach wie vor verwendet werden, sondern dass es sich dabei um eine sehr einfache und rasch zu erlernende Sprache handelt, die vor allem mit ihrer Flexibilität punktet.

Alles Liste

LISP ist die Abkürzung für List Processing und bedeutet vereinfacht dargestellt, die Verarbeitung in Listen. Tatsächlich werden die Anweisungen in Form von Listen dargestellt. Diese Listen können beliebig oft ineinander verschachtelt werden. Das erste Element der Liste ist eine Funktion, die eine bestimmte Anweisung ausführt wie beispielsweise ein mathematischer Operator. Erst dann folgen die Zahlen, die mit dem Operator verarbeitet werden. Ein Grund, warum diese Programmiersprache auch heute noch geschätzt wird, ist, weil es sehr viele Möglichkeiten gibt, auf die Sprache selbst Einfluss zu nehmen. Aus diesem Grund wird sie häufig als programmierbare Sprache bezeichnet. Programmteile lassen sich dynamisch zur Laufzeit verändern, wofür Makros verantwortlich sind. Dadurch lässt sich der Code verändern, bevor er vom Compiler übersetzt und verarbeitet wird.

Einfache Syntax

Die Anweisungen in LISP werden mit sogenannten Symbolic Expressions dargestellt. Die Syntax besteht aus Symbolen, Zahlen und Zeichenketten. Ein Symbol kann aus beliebigen Buchstaben oder Zahlen sowie Sonderzeichen bestehen. Um Code und Daten zu trennen, wird den Daten ein Komma vorangestellt. In LISP können globale und lokale Variablen definiert werden und es stehen zahlreiche Funktionen zur Verfügung.

Durch seine Flexibilität weist es schon früh Parallelen zu modernen Programmiersprachen auf. Sogar die rekursive Verarbeitung von Funktionen wird von dieser Sprache unterstützt. Dies gilt nicht nur für Berechnungen, sondern auch Listen konnten rekursiv abgearbeitet werden. Dadurch war es möglich eine Reihe von Aufgabenstellungen effizienter, als mit anderen damaligen Programmiersprachen abzuarbeiten. Im Vergleich dazu sind die Operationen, die für das erste Programm in LISP notwendig waren, sehr überschaubar. Im Schnitt reichen sechs Funktionen aus, um nicht nur erste Programme zu schreiben, sondern auch verhältnismäßig aufwendige Tools zu erstellen.

Heutige Bedeutung von LISP

Obwohl es sich bei LISP um eine sehr flexible Programmiersprache handelt, ist sie heute kaum noch von Bedeutung und musste mittlerweile objektorientierten Sprachen weichen. Dennoch gerät die Sprache nicht in Vergessenheit. Viele alte Systeme laufen noch mit Programmen, die darin verfasst wurden. Oft ist es nicht oder nur schwer möglich diese Programme mit Software in aktuellen Sprachen zu ersetzen, weshalb es nach wie vor Entwickler braucht, die sie beherrschen. Die Anzahl an Entwickler, die diese Sprache beherrschen, sinkt jedoch, vor allem, wenn es um die vielen Dialekte geht, sind Programmier sehr gesucht. Obwohl die Sprache in der Entwicklung von Software kaum noch eine Rolle spielt, sind die Entwickler für die Wartung der alten Software nach wie vor sehr gefragt und oft auch sehr gut bezahlt.

Zahlreiche Dialekte

Obwohl LISP selbst heute nicht mehr verwendet wird, gibt es davon zahlreiche Dialekte, die auch heute noch Anwendung finden. Diese Sprachvarianten basieren auf den Grundzügen der ursprünglichen Programmiersprache, sind jedoch für moderne Systeme adaptiert worden. Clojure ist beispielsweise ein Dialekt für die Java Virtual Machine, ist jedoch mit anderen Dialekten nicht mehr kompatibel. Daneben gibt es noch zahlreiche weitere Dialekte wie Common Lisp, das bei prozeduralen Makros verwendet wird. Scheme ist eine weitere Variante, die heute weit verbreitet ist, und wird vor allem zur lexikalischen Bindung von Variablen bei Makros genutzt. Scheme wird heute auch gerne noch in der Lehre eingesetzt um die Konzepte von LISP zu vermitteln. Daneben wird auch noch Emacs Lisp verwendet, um Erweiterungen für den Texteditor Emacs zu erstellen. Viele Varianten der Programmiersprache können sogar miteinander verbunden werden. Vor allem historische Dialekte konnten noch einfacher miteinander kommunizieren. Einer dieser historischen Dialekte – ZetaLisp – stellte sogar die erste objektorientierte Variante dieser Sprache dar.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte