Common Lisp
A language that doesn't affect the way you think about programming, is not worth knowing. – Alan Perlis
1 Inhalt
Common Lisp – die programmierbare Programmiersprache – ist dafür da, dass die Software-Entwicklung wieder Spaß macht. Wenn Sie allerdings keinen Spaß wollen, dann bleiben Sie lieber bei Blub1.
1.1 Zur Einführung
- Lisp-Beispiel: Ableitung einer Funktion. Dieses Programmierbeispiel stammt aus den ersten Tagen von Lisp. Es zeigt etwas, das Ihre Programmiersprache nicht kann.
- Was ist eine Closure? Oder: Die Blöden da oben!. Funktionale Programmierung benötigt Closures, um das fehlerträchtige Konzept Zustand zu bändigen. Dieser etwas humorige Aufsatz erklärt, was eine Closure ist.
1.2 Nützliches
- Online-Ressourcen zu Common Lisp
- Literatur über Lisp und Common Lisp
- Common-Lisp-Implementierungen
- LispStick: Common Lisp ohne Installation für Windows-Nutzer. Unter Linux ist das Installieren einer Common-Lisp-Umgebung kein Thema. Hier eine Hilfestellung für Windows-Nutzer.
1.3 Diskussion
- Die Besonderheit von Lisp. Sie können als Lisp-Programmierer in den Übersetzungsprozess eingreifen. Hier steht, warum das möglich ist. Common-Lisp-Compiler arbeiten nämlich anders als normale Compiler.
- Warum verwenden so wenige Entwickler Lisp ? Hier erfahren Sie, warum Sie Common Lisp bisher nicht verwendet haben. Wie gut, dass Sie heute endlich damit anfangen!
1.4 Fortgeschrittenes
- A Zillion Ways to Compute the Inner Product in COMMON LISP. Berechnung des Skalarprodukts zweier Vektoren: Es müssen nicht immer Schleifen sein…
- Chennai - Ein Schachprogramm in Common Lisp. Hier erkläre ich ein umfangreicheres Common-Lisp-Programm namens Chennai. Es spielt sehr ordentlich Schach.
- Funktionale Programmierung und Metaprogrammierung – Interaktiv in Common Lisp. Dies ist mein Buch über Common Lisp. Es wird bei Springer verlegt. Das Buch behandelt Arbeitsweisen, die deutlich über das auf dieser Website dargestellte hinausgehen.
1.5 Sonstiges
2 Vorwort
Mit dieser Website möchte ich Ihr Interesse an LISP im Allgemeinen und Common Lisp im Besonderen wecken.
Im Gegensatz zu anderen Computersprachen2, die erstaunlicher Weise fast immer in einer One-Man-Show enstehen3 , ist Common Lisp das Ergebnis eines bisher einzigartigen Entwicklungs- und Abstimmungsvorgangs unter Computerwissenschaftlern, die alle ausgewiesene Experten auf dem Gebiet der Programmiersprachen sind. Das Ergebnis ist eine Computersprache, die so ausdrucksstark ist, das manchem Rookie davon schwindelig wird und mancher Experte darin ein Problem sieht. Beiden gemeinsam ist aber, dass sie der besonderen Faszination erliegen, die von dieser einzigartigen Computersprache ausgeht.
Obwohl es unzählige Lisp-Tutorien im Internet gibt, gibt es zumindest in deutscher Sprache wenig Material zu Lisp. Sogar die hiesigen Lisp-Entwickler veröffentlichen ihr Material lieber in Englisch, da im deutschen Sprachraum Lisp wesentlich weniger Anhänger hat als in Übersee. Die europäischen Universitäten haben Lisp so gut wie vergessen, während viele amerikanische Universitäten aus sehr gutem Grund Lisp als erste Programmiersprache für Studenten wählen. Es gibt nämlich einen prinzipiellen Unterschied zwischen Lisp und allen anderen Sprachen. Während diese sich nur in Syntax und Ablaufgeschwindigkeit unterscheiden, gibt es zu Lisp einen semantischen Unterschied, der nicht nur dadurch aufheben ließe, dass man sie in Lisp umbaute. Nach der Lektüre dieser Website werden Sie diesen Unterschied verstehen.