Upload
diego-pacheco
View
178
Download
3
Embed Size (px)
DESCRIPTION
Porque dar bola para FP?
Citation preview
Diego PachecoSoftware Architect | Agile Coach @diego_pacheco
Porque eu deveria dar bola para isso?
FP – É muito velha!
FP – velho?
FP – pre-histórico
Lambda Calculus - 1930
Funções matemáticas – Currying - Lambda Calculus - 1930
LISP - 1958
Código - LISP - 1958
Código - LISP #SQN
Haskell - 1990
Código - Haskell- 1958
Matemática…
Ah não…
#Fail
Entrega, Prática, Mercado!
Tudo em C, C++, Java,.NET
Banco de Dados
Servidor WebSistemas Operacionais
Middleware Server
Cache/Data Grids
Web BrowsersGames Smart
Phones
Mercado, empregos, java/.net
http://www.indeed.com/jobanalytics/jobtrends?q=java%2C+.net%2C+C%2C+haskell%2C+lisp&l=
TOP Linguagens 2014
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Mas como assim, se programação OO / imperativa tem tudo isso de
bom.
por que diabos eu deveria dar bola para programação functional hein?
Programação Imperatíva / OO
Distrações
Distrações
Mais do mesmo...
Java
.NETPython
Ruby
CC++Php
OO Bad Design
OO Bad Design – EX: Checked Exceptions
Cargo Cult!
Aprenda algodiferente !!!
FP vs Prog. Imperativa
1. Pega o café2. Coloca o café na xícara3. Coloca água quente na xícara5. Mexe o café com a água4. retorna o café
retorna mexe (água, coloca (café, xícara))
Imperativa
Funcional
FP Puro
FP Influencia
Pós FP/Híbridas
http://www.indeed.com/jobanalytics/jobtrends?q=clojure%2C+scala%2C+f%23&l=
Crescimento
Qual a diferença?
FP
Imperativa
Function & Data | Data & Functions
Algorithm focus
State Discipline
Pure Functions: Avoid Side Effects, Improve Refactoring!
Deeply Learning
Perpective is everything: Change your way to think!
Diego PachecoSoftware Architect | Agile Coach @diego_pacheco
Obrigado!Thank you!