Pessoal, alguém tem uma dica sobre uma boa linguagem para começar em programação funcional ? LISP, Haskell, algum sugestão ?
Entre as linguagens funcionais mais comentadas, há enormes diferenças que podem influenciar na sua decisão.
Se Dinâmica ou estática, se é mais pura ou híbrida com recursos imperativos, se é fácil usar na vida real
Com essas diferenças em mente eu consideraria:
- Clojure: dinâmica, uso prático (roda na jvm), não é tão pura. Tem que acostumar com os parênteses (é Lisp)
- Haskell: estática, uma das mais puras, além de ser lazy. Talvez a mais díficil de aprender, mas é bem interessante.
- OCaml: estática e não tão pura como Haskell (Me parece bem semelhante a Haskell, sem ser tão purista)
- Scala: estática e híbrida com OO (roda na jvm), a complexidade e a falta de compatibilidade pode atrapalhar bastante
- Erlang: dinâmica e com uma vm própria (que dizem que é muito boa)
Uma outra maneira de brincar com o paradigma, é aplicar os conceitos em linguagens com algum suporte (Javascript, Ruby, Java 8)
Pra quem está começando acredito que a melhor é Clojure por ser mais simples e das que roda na jvm, a mais pura.