Auf dem Weg zur Aufklärung: Schema, Common Lisp, Clojure? [geschlossen]

26

Viele Leute, die schlauer sind als ich, schreiben immer wieder darüber, wenn Sie Lisp lernen. Es macht Sie zu einem besseren Programmierer, weil Sie es "verstehen".

Vielleicht ist alles, was ich über Lisp (s) höre, das Ihr Leben verändert, nur ein großer Scherz für die Neulinge, aber ich glaube, es schadet nicht, mehr über die Welt zu wissen, selbst wenn ich herausfinde, dass ich nach einer Snipe oder so etwas geschickt worden bin .

Ich würde gerne dem SICP-Buch und / oder ANSI Common Lisp folgen, aber gleichzeitig einen Dialekt und eine Implementierung studieren, die ich für persönliche Projekte verwenden könnte.

SICP konzentriert sich auf das Programm, das ist also eine große Stimme. Paul Graham sagte, wenn er Neulinge unterrichten würde, würde er es in Schema tun, aber es klang, als wäre Schema Common Lisp immer noch unterlegen. Aber dann gibt es Clojure - was ich gehört habe, ist in gewisser Weise begrenzt, aber in anderen (JVM-Bibliotheken) praktischer.

Es hört sich so an, als könnte ich die Scheme-Materialien einfacher durcharbeiten, eine "echte" Aufklärung durch CL erzielen oder mit Clojure nah genug dran sein und auf lange Sicht mehr damit anfangen.

Wie viel davon ist wahr? Wann sollte ich aufhören zu überlegen, was ich lernen soll, und einfach hingehen und davon lernen?

Conrad.Dean
quelle
4
+1 aber sei vorsichtig, sie sind hier nicht alle nett, sieh was damit passiert ist: programmers.stackexchange.com/users/39479
Cedric Martin
1
Hallo Conrad, "welche Sprache soll ich als nächstes lernen?" ist hier nicht zum Thema.
@ MarkTrapp Ich entschuldige mich. Ich dachte, dass die Frage "Welche Sprache ist am besten für [x]?" war immer noch am Thema, weil es darum geht, das richtige Werkzeug für den Job auszuwählen. Ich dachte, es gibt viele Leute, die die Kompromisse zwischen dem Studium von etwas mit akademischem Ruf und einem ähnlichen Tool, das Zugang zu einer etablierten Plattform hat, kennen wollen. Ist das noch ein Grund zum Schließen?
Conrad.Dean
2
@ MarkTrapp Ich denke, das ist eine gute Frage. Die Navigation in der Lispelandschaft kann zunächst verwirrend sein, und das OP verfügt über einige spezifische Kriterien, anhand derer die Menschen eine richtige Antwort beurteilen können. Ich denke, diese Frage ist nicht annähernd so vage wie "Welche Sprache soll ich als nächstes lernen?".
benekastah

Antworten:

19

Vielleicht ist alles, was ich über Lisp (s) höre, der Ihr Leben verändert, nur ein großer Scherz über die Neulinge

Absolut nicht wahr, es ist kein Witz.
Mit Lisp erstellen Sie alles, was Sie wollen, sogar Ihre eigene Programmiersprache.

Sie werden aufklären, egal was Sie auswählen, ob es sich um CL, Schema oder Clojure handelt.
Ich persönlich empfehle Ihnen, Clojure zu lernen, da es ein aktives Lisp ist, ein praktischer Dialekt, der die gleichzeitige Programmierung auf elegante Weise unterstützt und auf der JVM läuft (großes Verkaufsargument).

ClojureScript bringt Lisp zur clientseitigen Programmierung, was wirklich eine coole Sache ist.

Und übrigens, ist SICP in Clojure verfügbar .

Willkommen an Bord :)

Chiron
quelle
Die Clojure-Übersetzung von SICP ist für mich wirklich aufregend. Das letzte Mal habe ich nachgesehen, es war noch in Arbeit, aber es muss jetzt noch weiter gehen. Kann jemand kommentieren, wie diese Übersetzung das Nirvana, das Sie durch das Lesen von SICP erhalten, noch bewahrt?
Conrad.Dean
@ Conrad.Dean: Na ja, es gibt immer noch eine ziemlich auffällige Warnung: "Du solltest noch nicht hier sein. Tatsächlich kannst du dich gerne umschauen. Ich werde es vermeiden, irgendwelche Gifs von Verkehrskegeln und Stoppschildern anzubringen , aber diese Seite befindet sich noch im Aufbau und ist noch lange nicht so gut wie nützlich. "
Jerry Coffin
3
Die Schließung der SICP-Übersetzung ist seit 2009 DEAD, das ist traurig, weil die Lösungen in Clojure existieren ...
AndreasScheinert
Wenn Sie Ihr Leben wirklich ändern möchten, lernen Sie in dieser Reihenfolge, Schema, Prolog und C. Python ist auch ein oder zwei Schnüffler wert. Wenn Ihr Kopf noch nicht explodiert ist, entwerfen Sie Ihre eigenen Programmiersprachen oder helfen Sie, andere neue Sprachen zu perfektionieren.
Sam Watkins
7

Es hört sich so an, als könnte ich die Scheme-Materialien einfacher durcharbeiten, eine "echte" Aufklärung durch CL erzielen oder mit Clojure nah genug dran sein und auf lange Sicht mehr damit anfangen.

Erwarten Sie keine Wunder. In einer Sprache wie Scheme zu arbeiten, wird Ihren Horizont erweitern und Ihnen wahrscheinlich einiges darüber beibringen, wie Programme ausgeführt werden, aber es ist kein Express-Ticket für die Sphäre des unendlichen Bewusstseins.

Wann sollte ich aufhören zu überlegen, was ich lernen soll, und einfach hingehen und davon lernen?

Ungefähr 7 Sekunden, nachdem Sie diese Antwort gelesen haben.

Caleb
quelle
5

Wenn Sie mit SICP beginnen möchten, gehen Sie mit Schema, nur weil das das ist, was das Buch lehrt. Der Wechsel von Scheme zu Clojure wird ziemlich einfach sein.

Zachary K
quelle
Können Sie sich dazu äußern, ob die Hauptpunkte von SICP im SICP-in-Clojure- Projekt übersetzt werden oder ob zwischen den beiden Clojure- Schemata etwas verloren geht?
Conrad.Dean
1
Um ehrlich zu sein, es ist zu lange her, dass ich SICP geworfen habe und nicht viel Zeit mit Clojure verbracht habe. Das Wichtige an SICP ist nicht das Schema, sondern das Verständnis des Rechenmodells, an dem sie arbeiten.
Zachary K