Ist Clojure näher an Scheme oder Common Lisp von einem Anfänger Perspektive? [geschlossen]

StackOverflow https://stackoverflow.com/questions/1412981

  •  06-07-2019
  •  | 
  •  

Frage

Wenn ich Clojure lernen will, sollte ich durch das Lernen Scheme oder Common Lisp starten?

Oder ist Clojure verschieden genug von diesen beiden, dass ich gerade beginnen sollte Clojure von selbst lernen?

War es hilfreich?

Lösung

Es wäre zu Ihrem Vorteil sein, alle drei zu lernen, wenn auch nur so können Sie wählen, welche für Ihre Bedürfnisse am besten ist. Alle drei haben ihre eigenen Stärken und Schwächen.

Clojure ist vage wie Schema, dass es eine meist-funktionale Sprache und ist ein Lisp1 . Clojure leiht auch Dinge von Common Lisp, wie Multimethoden und Makros, und die Menschen sind immer cool Common Lisp Dinge zu Clojure als Bibliotheken zu portieren. Der Schöpfer von Clojure war selbst ein Common Lisp-Hacker vor Clojure schreiben. Clojure leiht sich viele Begriffe und Konventionen von Schema und CL sowohl (aber hat auch seine eigene Aromen in vielen Bereichen).

Es gibt nicht viel Literatur für Clojure jetzt, es ist eine solche, um neue Sprache (es gibt nur ein Clojure Buch so weit ). Aber es gibt viele gute Schema orientierte Bücher, wie SICP und The Little Schemer / The Seasoned Schemer . Es gibt auch gute CL Bücher, wie PCL , und viele andere.

Lisps auch viel Geschichte haben, und es ist zu Ihrem Vorteil, die Geschichte zu verstehen, um zu sehen, wo und warum weicht Clojure von ihm, wenn sonst nichts.

würde ich beginnen mit Schema empfehlen, weil es die einfachste Sprache der drei ist und daher am einfachsten zu erlernen. Dann plätschern in CL und Clojure, bis Sie einen Griff auf die Dinge haben, dann gehen mit Volldampf in welch auch immer der beiden Sie tendieren in Richtung.

Andere Tipps

Für Ihre Zwecke ich glaube, Sie sind sicher nur Clojure dem Lernen beginnen. Die Unterschiede zwischen Lisp und Scheme (und Clojure sich für diese Angelegenheit) sollte kein Problem sein, besonders wenn Sie nur zu lernen beginnen.

Meine erste Lisp Lernerfahrung mit Schema war, habe ich nie berührt Common Lisp (fühlte es zu komplex war), und jetzt bin ab Clojure.

habe ich Dorai Sitaram des „Teach Yourself Schema in Fixnum Days“ Scheme zu lernen und bekam ziemlich weit obwohl ich nie wirklich fand ich will in realen Projekten Schema verwenden.

Clojure, weil es angeblich schön, sauber Zugang zum riesigen Universum von J2SE / J2EE-Bibliotheken gibt, auf der anderen Seite, ermutigt mich diesen Lisp-Dialekt neu zu lernen, weil es schließlich von praktischem Nutzen sein kann.

Wie bei dem man mit zu beginnen, würde ich sagen, Schema einfacher ist und so könnte besser geeignet sein, mit zu beginnen. Auf der anderen Seite, wenn Sie gute Java und Python Kenntnisse haben, können Sie nicht tauchen direkt in Clojure Sinn, denn anders als Schema, es Elemente dieser beiden anderen Sprachen enthält (zB Datenstrukturen erinnert an Python und JVM / Java API centric Tutorials) und das vertraute Terrain helfen könnte.

Da ich von allen drei (Java, Python, Scheme) kam, finde ich mich in einer guten Position, nur zu schätzen, was Clojure auf den Tisch bringt, die aus Schema unterscheidet. Ich bin kein erfahrener Schemer, aber ich würde sagen, dass, wenn Sie sofort mit Clojure beginnen, werden Sie immer noch die allgemeine Lisp Erfahrung bekommen, so dass Sie auf jeden Fall nicht, dass nicht fehlen durch den Verzicht auf Schema.

Es hängt davon ab, ob Sie auf das Lernen oder Spielen konzentrieren. Wenn Sie wirklich Lisp studieren wollen, ist Schema ein guter Anfang. Wenn Sie lieber spielen, wie Sie Clojure sind Lernen eine bessere Passform ist.

Schließlich denke ich Clojure könnte eine bessere Lernsprache. Es ist die Unterstützung für Parallelität ist wirklich die Augen geöffnet. Nur wenig Sprachen machen es so einfach für einen Anfänger gleichzeitige Programme zu schreiben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top