UP | HOME

Common Lisp

A language that doesn't affect the way you think about programming, is not worth knowing.Alan Perlis

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.

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 ungeheuren 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. Aber lesen Sie selbst:

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

Author: Patrick Krusenotto (patrick.krusenotto@googlemail.com)

Date: 2014-10-08 22:57:16 CEST

Generated by Org version 7.8.11 with Emacs version 24

comments powered by Disqus