iniciando em scala

17
Scala Para Jovens

Upload: diego-gusava

Post on 02-Jul-2015

106 views

Category:

Software


0 download

DESCRIPTION

Apresentação resumida sobre scala

TRANSCRIPT

Page 1: Iniciando em Scala

ScalaPara Jovens

Page 2: Iniciando em Scala

Scala

Qual minha principal motivação em aprender Scala?

Page 3: Iniciando em Scala

Quem está usando?

Page 4: Iniciando em Scala

Scala vs Java IDE cuspindo código

Scala S2

Page 5: Iniciando em Scala

Scala vs Java

Roda na JVM

Integra 100% com libs Java

Linguagem Hibrida: OO e Funcional

Tipagem Estática

Tudo é Objeto

Page 6: Iniciando em Scala

Paradigmas

OO Funcional

Composição de Objetos Composição de Funções

Mutabilidade Imutável

Algoritmos Iterativos Algoritmos Recursivos

Page 7: Iniciando em Scala

Básico

Tudo é público por padrão

Inferindo o tipo (String)

Não precisa de vírgula

Variável Mutável

Variável Imutável

Declarando o tipo

Page 8: Iniciando em Scala

EstruturaParâmetros Retorno

Dispensável se retorna Unit

Dispensa return

Obrigatório p/ +1 linha

Page 9: Iniciando em Scala

FunçõesValor

Padrão

Recebo 2 Parâmetros

Retorno

Função padrão utilizada

Page 10: Iniciando em Scala

FunçõesPassando função

por parâmetro Currying

Qualquer coisa

Função Anônima

Page 11: Iniciando em Scala

Classes e ObjetosConstrutor, Propriedades

e tudo final :)

Chamando as propriedadesCompanion

ObjectMinha classe estática

Método Default

Page 12: Iniciando em Scala

Classes e Objetos

Construtor, Propriedades e tudo final :)

equals, hashCode, apply e unnaply

Clone da classe

Definindo os parâmetros

Novo Construtor

Definindo os valores default

Restrições da Classe

Novo Construtor

Page 13: Iniciando em Scala

Pattern Matching

parecido com switch do java

decompõe o objeto

Qualquer coisa

Page 14: Iniciando em Scala

TuplasVocê não precisa criar

classes

O acesso as variáveis

Page 15: Iniciando em Scala

TraitsParecidas com as

Interfaces Java

Podem ter métodos default

Mixing

Page 16: Iniciando em Scala

Coleções

Inicia com um valor definido

Mapeia para outra listagem

Inicia com o primeiro elemento

Page 17: Iniciando em Scala

Nice Features

String InterpolationNullpointerException

nunca mais