Clojure se rapproche-t-il de Scheme ou de Common Lisp du point de vue d'un débutant? [fermé]

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

  •  06-07-2019
  •  | 
  •  

Question

Si je veux apprendre Clojure, devrais-je commencer par apprendre Scheme ou Common Lisp?

Ou Clojure est-il si différent de ces deux-là que je devrais commencer à apprendre Clojure seul?

Était-ce utile?

La solution

Il serait dans votre intérêt d'apprendre les trois, si seulement vous pouviez choisir celui qui répond le mieux à vos besoins. Tous les trois ont leurs propres forces et faiblesses.

Clojure ressemble vaguement à Scheme en ce sens qu’il s’agit d’un langage essentiellement fonctionnel et qu’il est un Lisp1 . Clojure emprunte également des éléments de Common Lisp, tels que des méthodes multiples et des macros, et les gens portent toujours des objets intéressants de Common Lisp sur Clojure sous forme de bibliothèques. Le créateur de Clojure était lui-même un hacker Common Lisp avant d’écrire Clojure. Clojure emprunte beaucoup de terminologie et de conventions à Scheme et à CL (mais a également ses propres goûts dans de nombreux domaines).

Il n’ya pas beaucoup de littérature pour Clojure pour le moment, c’est un nouveau langage (il n’existe que un livre de Clojure à ce jour ). Mais il existe de nombreux bons livres orientés Scheme, tels que SICP et Le petit Schemer / Le Schemer assaisonné . Il existe également de bons ouvrages CL, tels que PCL et bien d'autres.

Lisps a aussi beaucoup d’histoire et il est dans votre intérêt de comprendre l’histoire, de voir où et pourquoi Clojure en déroge si rien d’autre.

Je recommanderais de commencer par Scheme car c'est le langage le plus simple des trois et donc le plus facile à apprendre. Ensuite, plongez dans CL et Clojure jusqu'à ce que vous ayez une bonne idée de la situation, puis passez à toute vapeur dans n'importe lequel des deux vers lesquels vous gravitez.

Autres conseils

En ce qui vous concerne, je pense que vous pouvez commencer à apprendre Clojure en toute sécurité. Les différences entre Lisp et Scheme (et Clojure lui-même) ne devraient pas être un problème, surtout si vous commencez juste à apprendre.

Ma première expérience d'apprentissage avec Lisp a été avec Scheme, je n'ai jamais touché Common Lisp (je trouve ça trop complexe) et je commence maintenant avec Clojure.

J’ai utilisé le programme "Teach Yourself Scheme" de Dorai Sitaram dans Fixnum Days " apprendre Scheme et suis allé assez loin même si je ne me suis jamais vraiment décidé à utiliser Scheme dans de vrais projets.

Clojure, parce qu’il donne prétendument un accès propre à l’énorme univers des bibliothèques J2SE / J2EE, par contre, m’encourage à réapprendre ce dialecte Lisp car il pourrait enfin être d’une utilisation pratique.

Pour ce qui est de savoir par lequel commencer, je dirais que Scheme est plus simple et pourrait donc être plus approprié pour commencer. Par contre, si vous avez une bonne connaissance de Java et de Python, vous pourrez peut-être vous plonger directement dans Clojure car, contrairement à Scheme, il contient des éléments de ces deux autres langages (par exemple, des structures de données rappelant les tutoriels centrés sur Python et JVM / Java API) et le terrain familier pourrait aider.

Comme je viens des trois (Java, Python, Scheme), je me trouve bien placé pour apprécier ce que Clojure apporte à la table, différent de Scheme. Je ne suis pas un Schemer expérimenté, mais je dirais que si vous commencez immédiatement par Clojure, vous obtiendrez toujours l'expérience générale de Lisp, de sorte que vous ne manquerez certainement pas de cela en abandonnant Scheme.

Cela dépend si vous voulez vous concentrer sur l’apprentissage ou sur le jeu. Si vous voulez vraiment étudier Lisp, Scheme est un bon point de départ. Si vous préférez jouer pendant que vous apprenez, Clojure convient mieux.

Finalement, je pense que Clojure pourrait être une meilleure langue d’apprentissage. Son support pour la concurrence est vraiment révélateur. Peu de langues rendent l’écriture de programmes simultanés aussi simple pour un débutant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top