Porque dar bola para FP?

401 visualizações

Publicada em

Porque dar bola para FP?

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
401
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
4
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Porque dar bola para FP?

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

×