O documento discute a importância da programação funcional e fornece exemplos de seus principais conceitos, como: 1) funções como membros de primeira ordem; 2) expressões e composições para criar códigos; 3) tipos para expressar códigos de forma clara.
3. Bacharel em ciência da computação
Mestre em computação aplicada
Microsoft Innovative Educator (MIE)
Microsoft Specialist (MS)
C#
Javascript
ASP .NET MVC
3
GUI
Sobre mim
4. Microsoft Certified Solutions Assiciate (MCSA)
Web Applications
Autor dos livros da editora casa do código sobre
os assuntos:
Kinect
Windows Phone
Programação Funcional
4
GUI
Sobre mim
7. Programação Funcional
Programação funcional é um paradigma de
programação.
Enfatiza o uso de funções e evita mudanças de
estados ou dados mutáveis.
11. Programação Funcional
O maior complicador sobre o paradigma
funcional é que ele é mais complicado.
Mentira, não é, mas as pessoas geralmente se
assustam com ele.
16. Programação Funcional
Quando eu decidi aprender programação funcional eu
ainda não sabia, mas iria mudar completamente a
forma como eu desenvolvia software.
17. Programação Funcional
Está cada vez mais comum diferentes linguagens de
programação incorporarem implementações que
seguem o paradigma funcional.
18. Programação Funcional
Programação funcional é um paradigma de
programação bastante diferente do paradigma
orientado à objetos.
Apesar de serem distintos, é muito comum
coexistirem na mesma aplicação.
19. Programação Funcional
Alguns conceitos fundamentais:
1. Funções são membros de primeira ordem;
2. Reforce expressões e composições;
3. Crie códigos expressivos com tipos;
21. Programação Funcional
O que significa ser um membro de primeira ordem?
De forma resumida, agora as funções também são
coisas.
Como assim?
22. Programação Funcional
Elas não precisam pertencer à uma classe;
Elas podem ser passadas por parâmetro;
Elas podem ser retornadas;
Elas podem ser utilizadas como tipos.
23. Programação Funcional
Em F# as funções são valores como qualquer outro;
Em C#, delegates são para funções, o que classes
são para objetos.
40. Código expressivo
Existem diversas definições para código
expressivo.
“O código precisa expressar a linguagem mais
humana possível”
41. Código expressivo
Se um veículo tem uma descrição, o tipo/classe
que o representa, precisa ter uma propriedade
chamada descrição e não título ou nome.
42. Código expressivo
Este é o nível mais básico de expressividade,
podemos ir muito além e alcançar o nível bem
mais avançado.
63. Programação Funcional
Este poder de abstração permite criar inclusive novas
estruturas;
Uma nova maneira de desenvolver abre as
possibilidades para resolução de problemas;
A criação das bibliotecas de diversas linguagens
utilizam uma abordagem híbrida;
64. Programação Funcional
Utilizo diariamente os conceitos deste paradigma
para ser mais produtivo, padronizar comportamentos e
aumentar o poder de extensão dos projetos em que
trabalho.