Porque dar bola para FP?

Post on 20-Jan-2015

178 views 3 download

description

Porque dar bola para FP?

Transcript of Porque dar bola para FP?

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!