Sur le chemin des Lumières: Scheme, Common Lisp, Clojure? [fermé]

26

Beaucoup de gens plus intelligents que moi continuent d' écrire quand vous apprenez le lisp, cela fait de vous un meilleur programmeur parce que vous le comprenez.

Peut-être que tout ce que j'entends à propos de Lisp (s) changer votre vie n'est qu'une grosse blague pratique sur les débutants, mais je pense qu'il n'y a aucun mal à en savoir plus sur le monde, même si je découvre que j'ai été envoyé après une bécassine ou quelque chose .

Je voudrais suivre le livre SICP et / ou ANSI Common Lisp, mais en même temps étudier un dialecte et une implémentation que je pourrais continuer à utiliser sur des projets personnels.

Le SICP se concentre sur le programme, c'est donc un grand vote. Paul Graham a dit que s'il devait enseigner aux débutants, il le ferait dans Scheme, mais il semblait que Scheme était encore inférieur à Common Lisp. Mais ensuite, il y a Clojure - dont on me dit qu'il est limité de différentes manières, mais plus pratique dans d'autres (bibliothèques JVM).

Il me semble que je pourrais passer plus facilement à travers les matériaux de Scheme, obtenir une "vraie" illumination de CL, ou me rapprocher suffisamment de Clojure et être en mesure d'en faire plus à long terme.

Dans quelle mesure tout cela est-il vrai? Quand devrais-je arrêter de penser à quoi apprendre et simplement aller l'apprendre?

Conrad.Dean
la source
4
+1 mais attention, ils ne sont pas tous gentils ici, voyez ce qui est arrivé à cela: programmers.stackexchange.com/users/39479
Cedric Martin
1
Salut Conrad, "quelle langue dois-je apprendre ensuite?" n'est pas sur le sujet ici.
@MarkTrapp Mes excuses. Je pensais que la question "Quelle langue est la meilleure pour [x]?" était toujours sur le sujet, car il s'agit de choisir le bon outil pour le travail. Je pensais qu'il y avait beaucoup de gens qui veulent connaître les compromis d'étudier quelque chose avec une réputation académique par rapport à un outil similaire qui a accès à une plate-forme établie. Est-ce toujours un motif de fermeture?
Conrad.Dean
2
@MarkTrapp Je pense que c'est une bonne question. Le paysage lisp peut être déroutant pour naviguer au début, et l'OP a des critères spécifiques pour aider les gens à juger une bonne réponse. Je pense que cette question n'est pas aussi vague que "Quelle langue dois-je apprendre ensuite?".
benekastah

Réponses:

19

Peut-être que tout ce que j'entends sur Lisp (s) changer votre vie est juste une grosse blague pratique sur les débutants

Absolument pas vrai, ce n'est pas une blague.
Avec Lisp, vous allez construire tout ce que vous voulez, même votre propre langage de programmation.

Vous serez éclairé, peu importe ce que vous choisissez, que ce soit CL, Scheme ou Clojure.
Personnellement, je vous recommande d'apprendre Clojure car il s'agit d'un Lisp actif, un dialecte pratique qui prend en charge la programmation simultanée de manière élégante et qui s'exécute sur la JVM (énorme argument de vente).

ClojureScript apporte Lisp à la programmation côté client, ce qui est vraiment cool.

Et d'ailleurs, SICP est disponible à Clojure .

Bienvenue à bord :)

Chiron
la source
La traduction Clojure de SICP est vraiment excitante pour moi. La dernière fois que je l'ai vérifié, c'était encore un travail en cours, mais il doit être plus avancé maintenant. Quelqu'un peut-il dire comment cette traduction préserve toujours le nirvana que vous obtenez en lisant le SICP?
Conrad.Dean
@ Conrad.Dean: Eh bien, il y a toujours un avertissement assez important: "Vous ne devriez pas encore être ici. En fait, vous êtes plus que les bienvenus pour regarder autour de vous. , mais ce site est en cours de construction et n'est pas encore sur le point d'être utile. "
Jerry Coffin
3
La fermeture de la traduction SICP est MORTE depuis 2009, c'est triste car les solutions existent en clôture ...
AndreasScheinert
si vous voulez vraiment changer votre vie, apprenez, schéma, prologue et C, dans cet ordre. Python vaut également un reniflement ou deux. Ensuite, si votre tête n'a pas encore explosé, allez concevoir vos propres langages de programmation ou aidez à perfectionner d'autres nouveaux langages.
Sam Watkins
7

Il me semble que je pourrais passer plus facilement à travers les matériaux de Scheme, obtenir une "vraie" illumination de CL, ou me rapprocher suffisamment de Clojure et être en mesure d'en faire plus à long terme.

Ne vous attendez pas à des miracles. Travailler dans un langage comme Scheme élargira vos horizons et vous en apprendra probablement pas mal sur la façon dont les programmes sont exécutés, mais ce n'est pas un ticket express pour la Sphère de Conscience Infinie.

Quand devrais-je arrêter de penser à quoi apprendre et simplement aller l'apprendre?

Environ 7 secondes après avoir fini de lire cette réponse.

Caleb
la source
5

Si vous voulez commencer avec SICP, optez pour le schéma, simplement parce que c'est ce que le livre enseigne. Passer de Scheme à Clojure sera assez facile.

Zachary K
la source
Pouvez-vous nous dire si les principaux points du SICP se traduisent dans le projet SICP dans Clojure , ou est-ce que quelque chose est perdu entre le schéma à fermer?
Conrad.Dean
1
Pour être honnête, cela fait trop longtemps que je ne suis pas allé jeter le SICP et que je n'ai pas passé beaucoup de temps avec Clojure. L'important au sujet du SICP n'est pas le schéma, c'est la compréhension du modèle de calcul qu'ils élaborent.
Zachary K