Por que programação funcional

38

Qual é o negócio com a programação funcional? Eu vejo falar muito sobre isso, mas para ser honesto eu nunca os achei úteis. Por que tantas universidades aparentemente os ensinam?

    
por Glenn Nelson 25.02.2011 / 03:48
fonte

6 respostas

60

Comece com Por que a programação funcional é importante . Em seguida, vá para Por que motivo a programação de funções é importante . Algumas balas:

  • A programação funcional permite raciocinar sobre problemas de maneira diferente
  • A abstração funcional é muito poderosa e permite que você DRY eleve seu código de formas não disponíveis para outros paradigmas
  • Em nosso futuro multi-core, linguagens funcionais podem ser mais facilmente divididas em tarefas simultâneas (embora as linguagens não estritamente funcionais também estejam trabalhando bastante no problema).
  • É mais fácil provar que os programas escritos em linguagens funcionais puras (sem efeitos colaterais) são matematicamente corretos.
por 25.02.2011 / 04:03
fonte
9

Os conceitos de programação funcional criam uma base que mudará a maneira como você pensa e ajudará a resolver problemas do mundo real.

O conceito é semelhante ao motivo pelo qual todos nós aprendemos Cálculo Multi-Variável, Álgebra e / ou Física de Engenharia como cursos de Ciência da Computação, embora talvez nunca precisemos desse conhecimento específico em nossas carreiras.

É por isso que as faculdades de direito amam os candidatos com um B.S em matemática. Estudar Matemática ensina você a pensar em múltiplos conceitos de uma maneira lógica, e a programação funcional ensina abstrações e muitos outros conceitos importantes que ajudam a decifrar os problemas e examiná-los sob uma luz diferente.

Em resumo, a programação funcional ajuda você a aprender como aprender.

    
por 25.02.2011 / 03:54
fonte
4

Quando você está começando, a programação funcional é o melhor modelo de pensamento. Porque a maioria dos seus programas não exigirá orientação a objetos. Pelo menos essa tem sido a minha experiência.

No entanto, agora que entro em alguns aplicativos que exigem separação de exibição e lógica, foi quando comecei a separar toda a lógica e o código de exibição, para facilitar para cada um o que é melhor.

Mas você não saberá por que fazer isso, a menos que domine o Functional primeiro. Eu nunca gostei de pessoas empurrando OO em cima de mim, ou que OO é a solução para tudo. Apenas certifique-se de que qualquer abordagem que você use, faça sentido para o que você está trabalhando, e não é uma curva de aprendizado muito íngreme para ter muito tempo longe do trabalho que você é pago para fazer.

    
por 25.02.2011 / 04:18
fonte
3

Porque enfatiza verbos, não substantivos. Às vezes são os verbos que importam.

    
por 25.02.2011 / 07:22
fonte
3

Porque, em geral, usa menos código para realizar a mesma tarefa. Menos código para escrever, é menos código para manter. Além de ser menos código, também tende a ter menos estado e, portanto, é um pouco mais simples de raciocinar (uma vez que você está acostumado a isso).

    
por 12.05.2011 / 04:19
fonte
2

Talvez porque as universidades desejem ensinar algo a partir de todos os paradigmas de programação e, para certas coisas, a programação funcional é melhor (como descrever o movimento dos personagens do jogo e descrever as animações)

    
por 25.02.2011 / 10:09
fonte