O documento apresenta conceitos da programação funcional como funções puras, imutabilidade e abstração. Discute as vantagens da programação funcional como previsibilidade, testabilidade e reuso de código. Apresenta a linguagem F# como uma opção funcional para .NET, destacando sua concisão, simplicidade e facilidade.
8. No paradigma funcional eu não dito ao meu
código o que ele deve fazer, quando e como. Não
irei desenvolvê-lo passo a passo. Eu penso meu
código como uma sequência de funções e/ou
passos, as quais de maneira composta irão
resolver meu problema.
16. Uma função pura é aquela que não provoca
efeitos colaterais, ou seja, ela não muda
qualquer estado na aplicação. Mas não é só isto,
ela precisa sempre gerar o mesmo resultado com
os mesmos argumentos, ou seja, ela precisa ser
completamente determinística.
19. Na programação funcional, desenvolvemos
funções lidando com os parâmetros de
entrada e gerando resultados, sem
alterarmos o estado de coisas preexistentes
no programa
23. Entenda comigo: se eu sei que, ao
invocar essa função, eu terei um
número de retorno, eu sei que irei
lidar com números. E se eu for
passar para um outra função um
número, mas ela espera uma string,
eu já logo acuso um erro.
24. Isso faz com que seu
programa se torne mais
inteligente!
30. • Você estará reaproveitando código. Menos código com mais
informações. Isso é bom.
• O processo todo em que as funções foram abstraídas irão fazer
sentido para você. Isso, alinhado com um bom nome para as funções,
deixarão o seu código muito legível e de fácil compreensão.
• E aí vem a parte legal. Lembre-se quando falei sobre a inteligência do
código... Seu processador já vai saber que dado um número 6, ele
terá como retorno um número 5. A previsibilidade aqui faz a festa.
34. O F# é a resposta da
Microsoft para o
paradigma funcional
dentro de plataforma
.NET
35. F# é uma linguagem bastante
concisa e o código possui pouco
ruído. Ou seja, parênteses são
pouco utilizados, blocos de código
são separados por indentação, não
utiliza chaves e a quebra de linhas,
por si só, já é o delimitador.
36.
37. Características bastante importantes e decisivas na
escolha do F# como linguagem são:
• Concisão;
• Simplicidade;
• Facilidade;
• Proteção contra erros;
• Facilidade com paralelismo