Eu costumava recomendar que, para aprender programação funcional, se deveria aprender Haskell. Hoje em dia, acho que esse conselho não é tão ótimo. A razão pela qual Haskell é difícil é por causa do enorme sistema de tipos, não porque é funcional. Uma melhor abordagem para programação funcional seria uma linguagem derivada de lisp, como Racket ou Clojure. Assim, você se concentra na recursão e nos padrões de design funcional em vez do sistema de tipos. (Ainda acho que todos deveriam aprender Haskell em algum momento, tanto pelo sistema de tipos quanto pelo aspecto da programação funcional). Dado que a IA estará escrevendo a maior parte do código no futuro, parece-me que a habilidade de um programador é especificar rigorosamente qual comportamento é esperado e, em seguida, deixar a IA cuidar disso. Haskell é uma das principais linguagens para especificações rigorosas. Além disso, uma curiosidade divertida sobre mim: eu usei Clojure em produção em um determinado momento simplesmente porque eu podia e estava entediado com as linguagens comuns. Eu basicamente não podia ser demitido, então meu chefe teve que concordar com isso, mesmo que ele estivesse (corretamente) cético sobre usar uma linguagem para a qual é impossível contratar. Sim, eu fui esse programador antes.
3,06K