Login
Newsletter
Werbung

Thema: Pro-Linux: Common Lisp in Debian und Ubuntu

1 Kommentar(e) || Alle anzeigen ||  RSS
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
0
Von fox9 am Di, 26. Juli 2005 um 00:49 #
> du wirst Lisp nicht schnell nennen, oder?

Im Gegensatz zum ach-so-beliebten Java *kann* man in Lisp z.B. das Range-Checking von Arrays abschalten. Der Ruf, Lisp sei eine langsame Sprache rührt im wesentlichen von zwei Punkten:

1. Es geht immer noch das Gerücht um, Lisp sei interpretiert, dabei waren effiziente Lisp-Compiler schon lange üblich, bevor Java das Licht der Welt erblickte.

2. Es ist in Lisp so bequem für alles (langsame) Listen zu nehmen. In der Tat hatte Lisp in den 60ern nicht viel mehr zu bieten. Heute bietet z.B. Common-Lisp mehr effiziente Datenstrukturen als die meisten populären Skript- oder Implementierungssprachen, darunter natürlich Vektoren, Arrays, Hash-Maps, Bitfelder, etc.

Die Liste der falschen Vorurteile gegen Lisp ist so lange wie seine Geschichte. Hier ein paar Beispiele:

Falsch ist: Lisp ist eine funktionale Programmiersprache
Wahr ist: Man kann in Lisp funktional Programmieren, aber auch imperativ, objektorientiert, deklarativ und mit einigen anderen Paradigmen

Falsch ist: Lisp ist ausschließlich für KI geeignet
Wahr ist: Lisp wurde tatsächlich gerne in der KI benutzt, weil man in der KI abstrakte und komplexe Probleme effizient lösen musste. Es gibt heute aber Unterstützung für "alltägliche" Programmierung, skalierbare Server-Anwendungen und viele Spezialgebiete

Falsch ist: Lisp ist unleserlich weil es viele Klammern und Prefix-Notation verwendet
Wahr ist: In der Tat hat Lisp eine sehr einfache konkrete Syntax, die vor allem auf Klammern basiert. Dies macht Lisp-Code sehr leicht zu parsen, zu generieren und durch eine IDE zu unterstützen. Durch einen guten Editor und etwas Übung lernt man Lisp-Code viel schneller zu lesen als üblichen Infix-Code. Die Prefix-Notation macht es überflüssig Operator-Prezedenzen und viele syntaktische Ausnahmen auswendig zu lernen, weshalb man sich viel leichter auf das eigentlich Problem konzentrieren kann statt durch syntaktische Details der Sprache abgelenkt zu werden

Falsch ist: Lisp hat Makros, das ist böse, wie man z.B. an C/C++ sehen kann
Wahr ist: Lisp hat Makros. Diese sind aber nicht vergleichbar mit C/C++ Makros, denn im Gegensatz zu diesen sind sie nicht nur mächtiger, sondern auch weit weniger gefährlich. Sie beruhen nämlich nicht auf schlichter Textsubstitution, sondern sind "Programme, die Programme schreiben", was ja auch durch Model Driven Architecture (MDA), Domain-Specific-Languages und die vielen populären Code-Generatoren belegt wird.

Lisp ist eine der modernsten (nicht populärsten) Programmiersprachen, die es heutzutage gibt. Das liegt auch daran, dass man in Lisp extrem einfach die Sprache erweitern kann, was in Perl, Java und vielen anderen Sprachen nur durch Modifikation des Compilers/Interpreters möglich ist. Es gibt wohl keine Sprache, die in dieser Hinsicht an Lisp heranreicht.

Gruß von einem, der sein Geld (leider) mit Java verdient...

[
| Versenden | Drucken ]
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung