O clojure está mais próximo do esquema ou do Lisp comum da perspectiva de um iniciante? [fechado

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

  •  06-07-2019
  •  | 
  •  

Pergunta

Se eu quiser aprender Clojure, devo começar pelo esquema de aprendizado ou Lisp comum?

Ou o clojure é diferente o suficiente de ambos, para que eu deveria começar a aprender o clojure por si só?

Foi útil?

Solução

Seria em seu benefício aprender todos os três, mesmo que você possa escolher qual é o melhor para suas necessidades. Todos os três têm seus próprios pontos fortes e fracos.

Clojure é vagamente como o esquema, pois é uma linguagem principalmente funcional e é um Lisp1. Clojure também empresta coisas de lisp comuns, como multimetófodos e macros, e as pessoas estão sempre portando coisas comuns legais para Clojure como bibliotecas. O criador do Clojure era ele mesmo um hacker comum antes de escrever Clojure. Clojure empresta muitas terminologia e convenções do esquema e CL ambos (mas também têm seus próprios sabores em muitas áreas).

Não há muita literatura para Clojure agora, sendo uma linguagem tão nova (existe apenas um livro de clojure até agora). Mas há muitos livros de bons esquemas, como Sicp e O pequeno esquema / o esquema experiente. Também existem bons livros de CL, como Pcl, e muitos outros.

Os Lisps também têm muita história e é em seu benefício entender a história, ver onde e por que Clojure se desvia, se nada mais.

Eu recomendo começar com o esquema porque é a linguagem mais simples dos três e, portanto, mais fácil de aprender. Em seguida, se esconda em Cl e Clojure até que você tenha uma alça sobre as coisas e depois vá a lado, em qualquer dos dois que você gravite.

Outras dicas

Para seus propósitos, acho que você está seguro para começar a aprender Clojure. As diferenças entre Lisp e Scheme (e a própria clojure) não devem ser uma preocupação, especialmente se você estiver apenas começando a aprender.

Minha primeira experiência de aprendizado Lisp foi com o esquema, nunca toquei com o Lisp Common (senti que era muito complexo) e agora estou começando com o clojure.

Eu usei o esquema "Teach Yourself em Fixnum Days", de Dorai Sitaram, para aprender o esquema e cheguei bastante longe, embora eu nunca me vi realmente querendo usar o esquema em projetos reais.

Clojure, porque supostamente dá acesso agradável e limpo ao enorme universo das bibliotecas J2SE/J2EE, por outro lado, me incentiva a reaprender esse dialeto Lisp porque pode finalmente ser de uso prático.

Quanto ao que se deve começar, eu diria que o esquema é mais simples e, portanto, pode ser mais apropriado começar. Por outro lado, se você tiver um bom conhecimento Java e Python, pode não se importar de mergulhar diretamente no clojure porque, diferentemente do esquema, ele contém elementos desses outros dois idiomas (por exemplo, estruturas de dados remanescentes dos tutoriais centrados em Python e JVM/Java API) E o terreno familiar pode ajudar.

Desde que eu vim dos três (Java, Python, Scheme), me encontro em uma boa posição para apreciar exatamente o que Clojure traz para a mesa que é diferente do esquema. Não sou um esquema experiente, mas eu diria que, se você começar imediatamente com o Clojure, ainda terá a experiência geral do LISP, para definitivamente não estará perdendo isso por renunciar ao esquema.

Depende se você deseja se concentrar em aprender ou jogar. Se você realmente deseja estudar Lisp, o esquema é um bom lugar para começar. Se você prefere jogar, pois está aprendendo que o Clojure é mais adequado.

Eventualmente, acho que o clojure pode ser uma linguagem de aprendizado melhor. Seu apoio à simultaneidade é realmente revelador. Poucos idiomas tornam tão simples para um iniciante escrever programas simultâneos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top