it-swarm.com.de

Was ist der beste Weg, um LISP zu lernen?

Ich programmiere jetzt seit ein paar Jahren in Python, PHP, Java und C und habe gerade das Lesen von Hackers and Painters beendet, also würde ich gerne LISP ausprobieren!

Ich verstehe, dass es völlig anders ist als ich es kenne und dass es nicht einfach sein wird. Außerdem denke ich (bitte korrigiere mich, wenn ich falsch liege), dass es viel weniger Community und Entwicklung um LISP gibt. Meine Frage lautet also: Wie lerne ich LISP am besten?

Es würde mir nichts ausmachen, Bücher zu kaufen oder etwas Zeit zu investieren. Ich möchte nur nicht, dass es verschwendet wird.

Die "letzte" Idee wäre, LISP für die Webentwicklung zu verwenden, und ich weiß, dass dies nicht so üblich ist. Ich weiß, dass es gut ist, mein Lernen zu planen, bevor Sie sich für das erste Buch oder Tutorial entscheiden und viel Zeit mit etwas verbringen, das möglicherweise nicht dazugehört sei der beste Weg!

Vielen Dank für Ihre Antworten!

edit: Ich habe Practical Common LISP gelesen und war: ... lang, hart, interessant und brachte mich definitiv dazu, LISP zu spielen, danach habe ich den kleinen Schema gelesen, und es war kurz, lustig und sehr, sehr gut für meine gesamte Programmierung. Meine Empfehlung wäre also, zuerst den kleinen Schema zu lesen, dann (es ist ein paar Stunden und es lohnt sich), wenn Sie entscheiden, dass LISP (oder Schema oder welcher Dialekt auch immer) nicht das ist, wonach Sie suchen, werden Sie immer noch viel Spaß haben neues Denken über Rekursion!

162
DFectuoso

Versuchen Sie es mit Practical Common LISP von Peter Seibel.

111
Avi

Mein persönlicher Favorit ist Abelson & Sussman Struktur und Interpretation von Computerprogrammen . Es wird Scheme verwendet, ein netter und klarer Dialekt von LISP.

Wenn Sie einen praktischeren Ansatz bevorzugen, sollten Sie sich vielleicht ein LISP-Framework für das Webdesign aussuchen (ich habe keine Ahnung, ob es ein solches Biest gibt) und direkt einsteigen.

75
starblue

Vielleicht möchten Sie mit Der kleine Schemer als Aufwärmübung beginnen. Es ist kein praktisches Buch über das Schreiben von Produktions-LISP-Programmen, aber es ist ein großartiges Buch, um zu lernen, wie man in LISP denkt .

54
John D. Cook

Das MIT hat einen kompletten LISP-Kurs im DIVX- und MPEG-Format zur Verfügung gestellt. Ich empfehle es sehr.

http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/

42
user49978

Es gibt jetzt ein Buch mit dem Titel 'Land of LISP' , das LISP-Programmierung durch das Schreiben von Textspielen im Stil der 80er Jahre lehrt. Ich lese es jetzt, und es ist sehr gut geschrieben und nimmt sich selbst nicht zu ernst, was mir gefällt.

32
fbl

Hier gibt es mehrere Möglichkeiten. Erstens unterscheiden sich Schema und Common LISP ziemlich stark (wie Scoping). du solltest zuerst eine auswählen und dabei bleiben für eine Weile. Ich bin ein Fan von Common LISP, aber das könnte eine dieser vi-vs-EMACS-religiösen Fragen sein.

Gehen Sie für Schema zu Kent Dybvigs Scheme Programming Language , gefolgt von SICP.

Für Common LISP und Practical Common LISP würde ich David Lamkins empfehlen Erfolgreiches LISP. Erfolgreiches LISP ist auch kostenlos online verfügbar .

Schauen Sie sich danach LISP in Small Pieces von Queinnec und Norvigs LISP in AI Book an.

Marty Hall hat eine nette Liste bei Johns Hopkins.

Aktualisiert : Ich meine nicht, für immer dabei zu bleiben, nur dass der Versuch, beides auf einmal zu lernen, verwirrend wäre.

22
Charlie Martin

Nimm das Land der LISP von Conrad Barski. Es ist eine unterhaltsame Einführung in die LISP-Programmierung mit Cartoons und Spielen.

19
Ashwin Nanjappa

Ich empfehle Project Euler als hervorragende Quelle für kleine Probleme, mit denen Sie sich jede neue Programmiersprache aneignen können.

17
JesperE

Ansi Common LISP von Paul Graham ist ein gutes Buch.

Ich denke, es könnte vergriffen sein, also ist es am besten, es über Amazon zu beziehen. Ich habe das Buch für eine "Natural Language Processing" -Klasse bekommen, die ich in meinem zweiten Studienjahr absolviert habe. Wir mussten die Programmierprojekte in LISP schreiben, und so musste ich LISP schnell lernen.

Das Buch hat mir sehr geholfen.

9

Einmal hatte ich ein Problem. Ich kannte LISP nicht. Also habe ich beschlossen, LISP in einer Box herunterzuladen.

Dann fand ich mich mit einer Emacs-Installation ohne Hilfe oder Dokumentation.

Dann hatte ich zwei Probleme.

8
adolfojp

Für ernsthafte Lerner würde ich empfehlen PAIP von Norvig. Es ist eine ausgezeichnete Ressource, um sowohl LISP als auch KI zu lernen.

7
amit

Berkeley bietet CS61a im Podcast-Format an. Dies ist eine Einführung in die CS-Klasse, die auf SICP basiert. Es ist eine modernere Version als die 1982 verfügbaren Videos MIT).

6
Steve Rowe

Ich arbeite mich gerade durch LISP und bin auf "das Buch" gestoßen, um LISP zu lernen. Es wurde vorgeschlagen von Rainer Joswig

Das Buch heißt Common LISP: Eine sanfte Einführung in die symbolische Berechnung und kann als PDF heruntergeladen werden. Der Autor beginnt mit einer UML-ähnlichen Herangehensweise an LISP im ersten Kapitel und führt nach und nach mehr und mehr LISP-Syntax ein.

Ich habe mir auch das praktische LISP angeschaut und denke, dass der Autor eine Menge erforderlicher Informationen beschönigt, selbst für einen erfahrenen Programmierer. Dieses Buch scheint das nicht zu tun (ich bin noch nicht ganz fertig, aber ich habe es als nützlich genug empfunden, um es vorzuschlagen).

außerdem benötigen Sie eine Umgebung, in der Sie arbeiten können. Ich habe festgestellt, dass LISP in a Box gut funktioniert. Es läuft unter Windows und Linux und verwendet eMacs.

6
BlueBadger

Ich habe mich von LISP durch seinen JVM-Dialekt - Clojure - angezogen gefühlt. Clojure ist seitdem eine Art großartiger LISP

  • es hat "vereinfachte Syntax", das heißt, es sind weniger Parathensis erforderlich, es ist ein geschicktes Designset von Kollektionen verfügbar
  • es ist JVM-basiert, sodass eine stabile, performante Laufzeit vorliegt. Darüber hinaus ist das gesamte Java Ökosystem (Bibliotheken, z. B. Datenbanktreiber, Build-Tools, IDEs) in unserer Reichweite
  • Noir ist ein gutes Webframework. Apps können auf Java Web- und Anwendungsservern bereitgestellt werden

Mit anderen Worten, Clojure kann genau hier und jetzt in der Produktion eingesetzt werden.

Wenn es um Ressourcen geht, gibt es mindestens 4 Bücher und viele Online-Ressourcen:

5

Ich habe es genossen, Practical Common LISP und ANSI Common LISP zu lesen.

Auf LISP sieht interessant aus, scheint aber bei 190 US-Dollar ein wenig teuer für ein Buch zu sein.

4
Ferruccio

Das Durcharbeiten der Übungen in "Der kleine Schemer" hat mir wirklich geholfen, die rekursive Seite meines Denkens zu verfeinern und das Arbeiten in XSLT erheblich zu vereinfachen.

4
Andy Dent

Für die Webentwicklung sollten Sie sich hunchentoot ansehen, einen Webserver, der in LISP geschrieben ist.

4
Kim Stebel

Ich empfehle zuerst eine sanfte Einführung in die symbolische Berechnung oder in das praktische allgemeine LISP, basierend auf Ihren Programmiererfahrungen. Zum Üben verwende ich Allegro CL 8.2 Free Express Edition unter Windows. Es macht Spaß zu üben.

2
hajovonta

Ich fand das Lesen des Buches SICP hat mir wirklich geholfen zu lernen. Ich habe Steel Bank Common LISP (SBCL) verwendet und war damit sehr erfolgreich.

Viel Glück

1
Brig Lamoreaux

Schnappen Sie sich einen Eimer mit (und) und fahren Sie in die Stadt.

1
Chance

Eine Art schwierige Frage zu beantworten ... Ich denke, dass alles von Ihrem Lernstil abhängt.

Ich habe LISP in meinem A.I. und Expert Systems Klassen in der Schule, aber so lerne ich ... Ich bin kein großartiger Buchlerner, ich bevorzuge es, wenn jemand es mir in einer Klasseneinstellung erklärt.

LISP ist definitiv eine einzigartige Sprache und erfordert einen neuen Gedankengang, wenn Sie an konventionelles C, Java, PHP Programmierung) gewöhnt sind.

Viel Glück für Sie!

1
Scott Vercuski

Ich weiß nicht, dass LISP etwas Besonderes ist, das es von anderen Sprachen unterscheidet. Sie müssen es nur verwenden und seine Funktionen ausprobieren.

Eine Möglichkeit könnte sein, ein einfaches Projekt zu versuchen.

Eine weitere Option, die für LISP spezifisch ist, besteht darin, eine Emacs-Erweiterung zu schreiben, die Sie bei Ihrer regulären Arbeit unterstützt.

0
Jon Ericson

Lesen Sie diese Bücher der Reihe nach: Sanfte Einführung in die symbolische Berechnung, ANSI Common LISP von Paul Graham, und fahren Sie dann mit Practical Common LISP fort. Oder überspringen Sie die ACL und verwenden Sie sie als Referenz, während Sie sich durch die PCL arbeiten.

0
Abhijith