Programação Funcional 
Por que Importa? 
Diego Pacheco 
Software Architect | Agile Coach 
diego-pacheco.blogspot.com 
@die...
http://about.me/diegopacheco
Ilegra.com
Programação Funcional 
Por que Importa?
FP –É muito velha?
FP –pré-histórico!
Lambda Calculus -1930
Funções matemáticas –Currying -Lambda Calculus -1930
LISP -1958
Código -LISP #SQN
Código -LISP -1958
Haskell -1990
Código -Haskell-1990
Matemática…
Ah não…
#Fail
Entrega, Prática, Mercado!
Tudo em C, C++, Java,.NET 
Banco de Dados 
Servidor Web 
Sistemas Operacionais 
Middleware Server 
Cache/Data Grids 
Web B...
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 eu deveria dar bola para programação funcion...
Programação Imperativa/ OO 
Formalismo, Syntax, Detalhes, Steps...
Distrações podem causar erros!
Distrações
Mais do mesmo... 
Java 
.NET 
Python 
Ruby 
C 
C++ 
Php
OO Bad Design
OO Bad Design –EX: Checked Exceptions
Cargo Cult! (Fulano)Todo mundo faz então...
Aprenda algo 
diferente !!!
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 ...
FP Puro 
FP Influencia 
Pós FP/Híbridas
Algumas comparações
FP e o mundo prático!
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 
https://github.com/mmcgrana/ring/blob/master/ring-jetty-adapter/test/ring/adapter/test...
Algorithm focus
Mais reuso de código!
O que eu posso fazer?
State Discipline
Pure Functions: Avoid Side Effects, Improve Refactoring!
Correto VS Prático
No final do dia...
Aprendendo com Diversão, por que é algo realmente diferente!
Higher Order Functions 
Currying 
Lambda 
Recursion 
For/List Comprehensions 
Monads 
[Resumo/Comparação] Conceitos novos ...
O que mais de legal vem da programação Funcional!?
Reactive 2.0 
http://www.reactivemanifesto.org/
Akka.io 
~650 bytes 
4GB: 5.6 milhões de atores 
50 milhões de mensagens p/segundo –1 maquina.
Melhores Abstrações
Big Data / Map Reduce 
100x Memoria 
10x disco
FRP / RX / Netflix
Perspectiva é tudo, muda seu jeito de ver o mundo!
Diego Pacheco 
Software Architect | Agile Coach 
Programação Funcional 
Por que Importa? 
diego-pacheco.blogspot.com 
@die...
TDC 2014 POA: Programacao funcional Por que Importa?
TDC 2014 POA: Programacao funcional Por que Importa?
TDC 2014 POA: Programacao funcional Por que Importa?
TDC 2014 POA: Programacao funcional Por que Importa?
TDC 2014 POA: Programacao funcional Por que Importa?
TDC 2014 POA: Programacao funcional Por que Importa?
TDC 2014 POA: Programacao funcional Por que Importa?
Próximos SlideShares
Carregando em…5
×

TDC 2014 POA: Programacao funcional Por que Importa?

904 visualizações

Publicada em

TDC 2014 POA: Programacao funcional Por que Importa?

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

Sem downloads
Visualizações
Visualizações totais
904
No SlideShare
0
A partir de incorporações
0
Número de incorporações
43
Ações
Compartilhamentos
0
Downloads
16
Comentários
0
Gostaram
6
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

TDC 2014 POA: Programacao funcional Por que Importa?

  1. 1. Programação Funcional Por que Importa? Diego Pacheco Software Architect | Agile Coach diego-pacheco.blogspot.com @diego_pacheco diegopacheco diego.pacheco diegopachecors diegopacheco
  2. 2. http://about.me/diegopacheco
  3. 3. Ilegra.com
  4. 4. Programação Funcional Por que Importa?
  5. 5. FP –É muito velha?
  6. 6. FP –pré-histórico!
  7. 7. Lambda Calculus -1930
  8. 8. Funções matemáticas –Currying -Lambda Calculus -1930
  9. 9. LISP -1958
  10. 10. Código -LISP #SQN
  11. 11. Código -LISP -1958
  12. 12. Haskell -1990
  13. 13. Código -Haskell-1990
  14. 14. Matemática…
  15. 15. Ah não…
  16. 16. #Fail
  17. 17. Entrega, Prática, Mercado!
  18. 18. Tudo em C, C++, Java,.NET Banco de Dados Servidor Web Sistemas Operacionais Middleware Server Cache/Data Grids Web Browsers Games Smart Phones
  19. 19. Mercado, empregos, java/.net http://www.indeed.com/jobanalytics/jobtrends?q=java%2C+.net%2C+C%2C+haskell%2C+lisp&l=
  20. 20. TOP Linguagens 2014 http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
  21. 21. Mas como assim? Se programação OO / imperativa tem tudo isso de bom! Por que eu deveria dar bola para programação funcional hein?
  22. 22. Programação Imperativa/ OO Formalismo, Syntax, Detalhes, Steps...
  23. 23. Distrações podem causar erros!
  24. 24. Distrações
  25. 25. Mais do mesmo... Java .NET Python Ruby C C++ Php
  26. 26. OO Bad Design
  27. 27. OO Bad Design –EX: Checked Exceptions
  28. 28. Cargo Cult! (Fulano)Todo mundo faz então...
  29. 29. Aprenda algo diferente !!!
  30. 30. 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
  31. 31. FP Puro FP Influencia Pós FP/Híbridas
  32. 32. Algumas comparações
  33. 33. FP e o mundo prático!
  34. 34. http://www.indeed.com/jobanalytics/jobtrends?q=clojure%2C+scala%2C+f%23&l= Crescimento
  35. 35. Qual a diferença? FP Imperativa
  36. 36. Function & Data | Data & Functions https://github.com/mmcgrana/ring/blob/master/ring-jetty-adapter/test/ring/adapter/test/jetty.clj
  37. 37. Algorithm focus
  38. 38. Mais reuso de código!
  39. 39. O que eu posso fazer?
  40. 40. State Discipline
  41. 41. Pure Functions: Avoid Side Effects, Improve Refactoring!
  42. 42. Correto VS Prático
  43. 43. No final do dia...
  44. 44. Aprendendo com Diversão, por que é algo realmente diferente!
  45. 45. Higher Order Functions Currying Lambda Recursion For/List Comprehensions Monads [Resumo/Comparação] Conceitos novos mas não tão diferentes assim... Immutability No Side Effects Pure Functions
  46. 46. O que mais de legal vem da programação Funcional!?
  47. 47. Reactive 2.0 http://www.reactivemanifesto.org/
  48. 48. Akka.io ~650 bytes 4GB: 5.6 milhões de atores 50 milhões de mensagens p/segundo –1 maquina.
  49. 49. Melhores Abstrações
  50. 50. Big Data / Map Reduce 100x Memoria 10x disco
  51. 51. FRP / RX / Netflix
  52. 52. Perspectiva é tudo, muda seu jeito de ver o mundo!
  53. 53. Diego Pacheco Software Architect | Agile Coach Programação Funcional Por que Importa? diego-pacheco.blogspot.com @diego_pacheco diegopacheco diego.pacheco diegopachecors diegopacheco Obrigado !!!

×