Porque dar bola para FP?

44
Diego Pacheco Software Architect | Agile Coach @diego_pacheco

description

Porque dar bola para FP?

Transcript of Porque dar bola para FP?

Page 1: Porque dar bola para FP?

Diego PachecoSoftware Architect | Agile Coach @diego_pacheco

Page 2: Porque dar bola para FP?

Porque eu deveria dar bola para isso?

Page 3: Porque dar bola para FP?

FP – É muito velha!

Page 4: Porque dar bola para FP?

FP – velho?

Page 5: Porque dar bola para FP?

FP – pre-histórico

Page 6: Porque dar bola para FP?

Lambda Calculus - 1930

Page 7: Porque dar bola para FP?

Funções matemáticas – Currying - Lambda Calculus - 1930

Page 8: Porque dar bola para FP?

LISP - 1958

Page 9: Porque dar bola para FP?

Código - LISP - 1958

Page 10: Porque dar bola para FP?

Código - LISP #SQN

Page 11: Porque dar bola para FP?

Haskell - 1990

Page 12: Porque dar bola para FP?

Código - Haskell- 1958

Page 13: Porque dar bola para FP?

Matemática…

Page 14: Porque dar bola para FP?

Ah não…

Page 15: Porque dar bola para FP?

#Fail

Page 16: Porque dar bola para FP?

Entrega, Prática, Mercado!

Page 17: Porque dar bola para FP?

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?

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?

TOP Linguagens 2014

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Page 20: Porque dar bola para FP?

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?

Programação Imperatíva / OO

Page 22: Porque dar bola para FP?

Distrações

Page 23: Porque dar bola para FP?

Distrações

Page 24: Porque dar bola para FP?

Mais do mesmo...

Java

.NETPython

Ruby

CC++Php

Page 25: Porque dar bola para FP?

OO Bad Design

Page 26: Porque dar bola para FP?

OO Bad Design – EX: Checked Exceptions

Page 27: Porque dar bola para FP?

Cargo Cult!

Page 28: Porque dar bola para FP?

Aprenda algodiferente !!!

Page 29: Porque dar bola para FP?

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?
Page 31: Porque dar bola para FP?
Page 32: Porque dar bola para FP?
Page 33: Porque dar bola para FP?

FP Puro

FP Influencia

Pós FP/Híbridas

Page 34: Porque dar bola para FP?

http://www.indeed.com/jobanalytics/jobtrends?q=clojure%2C+scala%2C+f%23&l=

Crescimento

Page 35: Porque dar bola para FP?

Qual a diferença?

FP

Imperativa

Page 36: Porque dar bola para FP?
Page 37: Porque dar bola para FP?
Page 38: Porque dar bola para FP?

Function & Data | Data & Functions

Page 39: Porque dar bola para FP?

Algorithm focus

Page 40: Porque dar bola para FP?

State Discipline

Page 41: Porque dar bola para FP?

Pure Functions: Avoid Side Effects, Improve Refactoring!

Page 42: Porque dar bola para FP?

Deeply Learning

Page 43: Porque dar bola para FP?

Perpective is everything: Change your way to think!

Page 44: Porque dar bola para FP?

Diego PachecoSoftware Architect | Agile Coach @diego_pacheco

Obrigado!Thank you!