Ich weiß nicht genug Lisp, um zu sagen, ob es gut oder schlecht ist. Es scheint, als ob jeder, der Lisp benutzt hat, es liebt, aber die beliebtesten Sprachen dieser Tage stammen von C.
Was ist an Lisp so großartig und warum wird es nicht mehr verwendet? Gibt es etwas einfach Schlechtes an Lisp (außer der unaufhörlichen Anzahl von Klammern)?
Antworten:
Lisp ist der Chuck Norris der Programmiersprachen.
Lisp ist der Balken, an dem andere Sprachen gemessen werden.
Das Wissen um Lisp demonstriert die Erleuchtung der Entwickler.
Ich habe von 3 Schwächen (und ihren Gegenargumenten) gehört:
Dynamische Eingabe.
Es gibt ein Argument für statisch typisierte Sprachen, bei dem es darum geht, dem Compiler genügend Informationen zu geben, um eine bestimmte Fehlerklasse abzufangen, damit sie zur Laufzeit nicht auftreten. Aber Sie müssen noch testen.
Dieser Artikel spricht sich für dynamisches Tippen und weitere Tests aus: Starkes Tippen vs. Starkes Testen .
Schwer zu erlernen.
Das besteht eigentlich aus zwei Teilen: Lernen und Werkzeuge.
Lisp braucht einige Mühe, um wirklich "zu bekommen", aber es lohnt sich, denn wenn Sie Lisp lernen, werden Sie wirklich ein besserer Programmierer in anderen Sprachen. Wenn Sie zum Beispiel wirklich Schließungen "bekommen", werden Sie die inneren Klassen von Java verstehen. Und sobald Sie erstklassige Funktionen "erhalten", werden Sie jedes Mal depressiv, wenn Sie eine Sprache ohne diese verwenden.
Ich habe The Little Schemer gelesen und lese Practical Common Lisp , die beide ausgezeichnet sind.
Als nächstes sind die Werkzeuge. Ich bin auf einem Mac, also habe ich mich auf Aquamacs Emacs (macht Emacs für Anfänger lebenswert) und Steel Bank Common Lisp (SBCL) konzentriert.
Mangel an Bibliotheken.
Ich kann es noch nicht genau sagen, aber ich bezweifle es. Für das Erstellen von Websites scheinen Hunchentoot und Elephant eine gute Reihe von Tools bereitzustellen. Aber ich sehe Lispers wirklich nicht, die sich über den Mangel an Bibliotheken beschweren (vielleicht weil Lisp so mächtig ist, dass sie einfach nicht gebraucht werden?).
quelle
Hier ist meine Ansicht:
An der Oberfläche ist Lisp eine schöne, einfache funktionale Programmiersprache. Es gibt fast keine Syntax und alle Teile passen auf logische Weise zusammen.
Wenn Sie etwas tiefer gehen, SICP lesen und einen Metacircular-Evaluator schreiben, entdecken Sie zwei Dinge: Erstens ist der gesamte Interpreter (mit nur wenigen Grundelementen) kaum eine Code-Seite und zweitens die Beziehung zwischen Code und Daten ermöglicht elegante Programmiertechniken.
Sobald Sie dies vollständig aufgenommen haben, scheint es, als wären andere Sprachen in Stein gemeißelt, wenn Sie nur ein paar Dinge sagen können. Lisp kann jede Abstraktion überhaupt erstellen, wenn Sie Syntax und Semantik dafür definieren können.
quelle
Lisp ist gut, weil es eine sehr minimale, einfache, reguläre Syntax hat.
Lisp ist schlecht, weil es eine sehr minimale, einfache, reguläre Syntax hat.
quelle
"Jedes ausreichend komplizierte C- oder Fortran-Programm enthält eine ad-hoc, informell spezifizierte, fehlerbehaftete, langsame Implementierung der Hälfte von Common Lisp."
Zehnte Regel von Greenspun
quelle
Hier sind einige hilfreiche Links:
quelle
Das erste Kapitel von Peter Seibels ausgezeichnetem Practical Common Lisp behandelt seine Gründe, Lisp zu mögen. Fazit ist der Ausdruck "programmierbare Programmiersprache" - die Möglichkeit, die Sprache an Ihre Domain oder Ihren bevorzugten Stil anzupassen.
quelle
Quelle: http://www.gigamonkeys.com/book/introduction-why-lisp.html
quelle