O documento discute conceitos de programação funcional em Python como funções de alta ordem, composição de funções, sem efeitos colaterais, imutabilidade e avaliação preguiçosa. Também compara programação funcional e orientada a objetos e fornece dicas para iniciar com programação funcional.
20. SO FAR…
20
▫︎ Higher Order e First-class functions
▫︎ No side-effects
▫︎ Function composition
▫︎ Closure
▫︎ Lazy evaluation
▫︎ Recursão
21. COMPARANDO OS CONCEITOS
FP
▫︎ Higher Order
Functions
▫︎ Imutabilidade
▫︎ No side-effects
▫︎ Stateless and
functions
21
OOP
▫︎ Encapsulamento
▫︎ Herança
▫︎ Polimorfismo
▫︎ State e Behaviour
22. 22
Dicas para iniciar com FP
Todas as funções devem aceitar parâmetros
Todas as funções devem retornar valores ou
outra função
Loops são proibidos
23. 23
Programação funcional é útil
Quando se tem um tipo fixo de dados e um número variável de
operações
Quando se almeja paralelismo/programação concorrente
Programação funcional não é útil
Quando se tem dados e operações fixas que crescerão juntas