Common Lisp

lambda.jpg

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

1.2 Nützliches

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

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.

Fußnoten:

1
Von Paul Graham eingeführte Äquivalenzklasse. Enthält neben anderen die Elemente "PHP", "Java", "C++", "Fortran" und "Python" und gehört der Quotientenmenge {Blub, Lisp, ?, …} an
2
Ich nenne Lisp lieber Computer- als Programmiersprache, da es über die Möglichkeiten einer reinen Programmiersprache hinaus geht: Es ist gleichzeitig Meta-, Dialog- und Designsprache
3
Die Protagonisten heissen z.B. James Gosling (Java), Larry Wall (Perl), Guido an Roosum (Python), Niklas Wirth (Pascal), Dennis Ritchie (C) und Bjarne Stroustrup(C++). Die Fehler, die dabei gemacht wurden, sind vielfältig und sie wurden gemacht, weil ein Einzelgänger scheinbar nicht in der Lage ist, ein wirklich praxisgerechtes Design zu schaffen. Dabei fallen mir die verkrüppelten Lambdas von Python, die völlige Inkompatibilität von Typen und Klassen bei Java, die Notwendigkeit von Factories bei Java, die Syntax von Perl, die entsetzlichen Header-Files bei C oder die Rokoko-hafte Natur von C++ ein

Autor: Patrick M. Krusenotto

Datum: Dezember 2019 10.12.2019

Generiert mit Emacs 26.3 (Org mode 9.1.9)

comments powered by Disqus