scala
DESCRIPTION
ScalaTRANSCRIPT
Scala 2.10Da programação funcional às novas
featuresfeatures
@diego_pachecoSoftware Architect | Agile Coach
Sim,
Eu trabalho
com TI…
pa
che
co/4
85
13
10
20
7/s
ize
s/l/
in/p
ho
tost
rea
m/
@diego_pacheco
http://diego-pacheco.blogspot.com
htt
p:/
/ww
w.f
lick
r.co
m/p
ho
tos/
die
go
-pa
che
co/4
85
13
10
20
7/s
ize
s/l/
in/p
ho
tost
rea
m/
Estamos contratando: [email protected] I ilegra.com
Por que FP?
• Uma forma diferente de pensar
• Programação declarativa
• Menos código (instruções) e mais dados
• Melhor Programação concorrente e parallela (estado disciplinado)
• Código mais “Correto” (propriedade matemática das funções)
• Ideias “velhas” / sólidas vindas de LISP e Haskell
• Está voltando com tudo, mas com uma nova roupagem
FP vs Prog. Imperativa
1. Pega o café
2. Coloca o café na xícara
3. Coloca água quente na xícara
Imperativa
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))
Funcional
High Order Functions
Anonymous Functions (Scala)
Anonymous Functions (Java)
Partial Functions (Scala)
Partial Functions (Java)
Curriyng (Scala)
Curriyng (Java)
Case Class (Scala)
Case Class (Java)
Pattern Matcher (Scala)
Pattern Matcher (Java)
More Functions...
More Functions...
More Functions...
Scala 2.10
Scala 2.10 - Dynamic
Scala 2.10 – String Interpolation
Scala 2.10 – Reflection
Scala 2.10 – Reflection
Scala 2.10 – implicit Class
Scala 2.10 – Value Class
Scala 2.10 – Better Implicit
Fontes!https://github.com/diegopacheco/Diego-Pacheco-
Sandbox/tree/master/scripts/scala/scala-2.10-playground
https://github.com/diegopacheco/Diego-Pacheco-
Sandbox/tree/master/scripts/scala/scala_2.10_da_prog_funciona
l_as_novas_features_scala
@diego_pachecoSoftware Architect | Agile Coach
l_as_novas_features_scala
https://github.com/diegopacheco/Diego-Pacheco-
Sandbox/tree/master/scripts/scala/scala_2.10_da_prog_funcional
_as_novas_features_java
Scala 2.10Da programação funcional às novas
features
Obrigado !!!
@diego_pachecoSoftware Architect | Agile Coach
Obrigado !!!