porque dar bola para fp?
DESCRIPTION
Porque dar bola para FP?TRANSCRIPT
![Page 1: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/1.jpg)
Diego PachecoSoftware Architect | Agile Coach @diego_pacheco
![Page 2: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/2.jpg)
Porque eu deveria dar bola para isso?
![Page 3: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/3.jpg)
FP – É muito velha!
![Page 4: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/4.jpg)
FP – velho?
![Page 5: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/5.jpg)
FP – pre-histórico
![Page 6: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/6.jpg)
Lambda Calculus - 1930
![Page 7: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/7.jpg)
Funções matemáticas – Currying - Lambda Calculus - 1930
![Page 8: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/8.jpg)
LISP - 1958
![Page 9: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/9.jpg)
Código - LISP - 1958
![Page 10: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/10.jpg)
Código - LISP #SQN
![Page 11: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/11.jpg)
Haskell - 1990
![Page 12: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/12.jpg)
Código - Haskell- 1958
![Page 13: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/13.jpg)
Matemática…
![Page 14: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/14.jpg)
Ah não…
![Page 15: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/15.jpg)
#Fail
![Page 16: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/16.jpg)
Entrega, Prática, Mercado!
![Page 17: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/17.jpg)
Tudo em C, C++, Java,.NET
Banco de Dados
Servidor WebSistemas Operacionais
Middleware Server
Cache/Data Grids
Web BrowsersGames Smart
Phones
![Page 18: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/18.jpg)
Mercado, empregos, java/.net
http://www.indeed.com/jobanalytics/jobtrends?q=java%2C+.net%2C+C%2C+haskell%2C+lisp&l=
![Page 19: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/19.jpg)
TOP Linguagens 2014
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
![Page 20: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/20.jpg)
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?
![Page 21: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/21.jpg)
Programação Imperatíva / OO
![Page 22: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/22.jpg)
Distrações
![Page 23: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/23.jpg)
Distrações
![Page 24: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/24.jpg)
Mais do mesmo...
Java
.NETPython
Ruby
CC++Php
![Page 25: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/25.jpg)
OO Bad Design
![Page 26: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/26.jpg)
OO Bad Design – EX: Checked Exceptions
![Page 27: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/27.jpg)
Cargo Cult!
![Page 28: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/28.jpg)
Aprenda algodiferente !!!
![Page 29: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/29.jpg)
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
![Page 30: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/30.jpg)
![Page 31: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/31.jpg)
![Page 32: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/32.jpg)
![Page 33: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/33.jpg)
FP Puro
FP Influencia
Pós FP/Híbridas
![Page 34: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/34.jpg)
http://www.indeed.com/jobanalytics/jobtrends?q=clojure%2C+scala%2C+f%23&l=
Crescimento
![Page 35: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/35.jpg)
Qual a diferença?
FP
Imperativa
![Page 36: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/36.jpg)
![Page 37: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/37.jpg)
![Page 38: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/38.jpg)
Function & Data | Data & Functions
![Page 39: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/39.jpg)
Algorithm focus
![Page 40: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/40.jpg)
State Discipline
![Page 41: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/41.jpg)
Pure Functions: Avoid Side Effects, Improve Refactoring!
![Page 42: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/42.jpg)
Deeply Learning
![Page 43: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/43.jpg)
Perpective is everything: Change your way to think!
![Page 44: Porque dar bola para FP?](https://reader030.vdocuments.pub/reader030/viewer/2022020720/54bd83d94a795943698b470b/html5/thumbnails/44.jpg)
Diego PachecoSoftware Architect | Agile Coach @diego_pacheco
Obrigado!Thank you!