29
Scala 2.10 Da programação funcional às novas features features @diego_pacheco Software Architect | Agile Coach

Scala

Embed Size (px)

DESCRIPTION

Scala

Citation preview

Page 1: Scala

Scala 2.10Da programação funcional às novas

featuresfeatures

@diego_pachecoSoftware Architect | Agile Coach

Page 2: Scala

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/

Page 3: Scala

Estamos contratando: [email protected] I ilegra.com

Page 4: Scala

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

Page 5: Scala

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

Page 6: Scala

High Order Functions

Page 7: Scala

Anonymous Functions (Scala)

Page 8: Scala

Anonymous Functions (Java)

Page 9: Scala

Partial Functions (Scala)

Page 10: Scala

Partial Functions (Java)

Page 11: Scala

Curriyng (Scala)

Page 12: Scala

Curriyng (Java)

Page 13: Scala

Case Class (Scala)

Page 14: Scala

Case Class (Java)

Page 15: Scala

Pattern Matcher (Scala)

Page 16: Scala

Pattern Matcher (Java)

Page 17: Scala

More Functions...

Page 18: Scala

More Functions...

Page 19: Scala

More Functions...

Page 20: Scala

Scala 2.10

Page 21: Scala

Scala 2.10 - Dynamic

Page 22: Scala

Scala 2.10 – String Interpolation

Page 23: Scala

Scala 2.10 – Reflection

Page 24: Scala

Scala 2.10 – Reflection

Page 25: Scala

Scala 2.10 – implicit Class

Page 26: Scala

Scala 2.10 – Value Class

Page 27: Scala

Scala 2.10 – Better Implicit

Page 28: Scala

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

Page 29: Scala

Scala 2.10Da programação funcional às novas

features

Obrigado !!!

@diego_pachecoSoftware Architect | Agile Coach

Obrigado !!!