Ao mudar para um estilo funcional de programação depois de procedimental e OOP, que coisas eu preciso saber antecipadamente sobre "essa nova maneira de pensar"?
Como você se prepara para mergulhar no mundo dos FP e obtê-lo pela primeira vez?
Quais são os princípios básicos para aprender e corrigir primeiro?
functional-programming
JohnDoDo
fonte
fonte
Respostas:
Obtenha uma cópia de "Estrutura e interpretação de programas de computador" e trabalhe você mesmo no primeiro capítulo "Construindo abstrações com procedimentos". Melhor introdução à programação funcional que já tive.
EDIT: Se você quiser algo mais comparativo, tente "Sete idiomas em sete semanas" (aviso: este livro ainda está na minha lista de tarefas).
fonte
Você precisará de um pensamento declarativo em vez da maneira processual "primeiro faça isso, depois faça isso, depois faça isso ..." para resolver problemas. Compreender a recursão pode ser um bom ponto de partida, pois é um tipo de ponto ideal entre o pensamento processual e o declarativo.
fonte
Você colocou a carroça diante do cavalo. Você não precisa se preparar. Escolha um idioma que pareça interessante, encontre alguma documentação e tente. Se você ficar preso, pare e procure uma resposta. À medida que você progride, sua maneira de pensar mudará.
fonte
O FP é baseado no cálculo lamdba. Você precisa saber disso. É um bom ponto de partida. Funções são tudo. Não há conceito de estado (embora você possa falsificá-lo em um nível superior).
No POO,
é aceito. Não é assim no FP. Você simplesmente não pode atribuir à variável um outro valor. Se você deseja aprender FP a longo prazo, aprenda Haskell. É a versão mais pura do FP por aí e também é bastante complicada (eu apenas comecei a aprender), mas ainda vale a pena aprender.
Uma Introdução à Programação Funcional oferece uma visão geral de alto nível sobre o que é o FP.
Duas advertências
fonte
Eu tento o meu melhor para lembrar o seguinte mantra:
fonte