Scala

Preview:

DESCRIPTION

Scala

Citation preview

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: curriculos@ilegra.com 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 !!!