SlideShare ist ein Scribd-Unternehmen logo
1 von 17
*
UFERSA – Universidade Federal Rural do Semi-Árido

Davi Matos
*
• Baseadas em funções matemáticas;
• Alto nível de abstração;
• Não dependência de operações;
• Dados imutáveis;
• Abstração Lambda;
• Redução do código-fonte;
• Maior velocidade;
• Facilita a implementação;
*
• Linguagens mais famosas:
•
•
•
•
•

Lisp

Haskell
OCaml
Python
Scala
*
• Criada em 2001 por
Martin Odersky;

• Algumas frustrações
com Java;

• Melhorar experiência
Java;

• Primeiro release

público em 2003;
*
• Paradígma Orientado ao Objeto;
• Paradígma Funcional;
• Roda sobre a JVM;
• Não é uma extensão de Java, pois possui
sintaxe e construções próprias;

• Integração com Java e .NET;
*
*
• Declaração de tipo variáveis omitidas;
• Ponto e virgula omitido;
• Operadores são métodos;
*
• If’s ternários (numa linha só);
• For pode retornar valores;
*
• Parâmetros de construtores implícitos;
*
• Principal interesse: Resolver o problema
de multicores;

• Imutabilidade;
*
• Função de Ordem Superior;
•

Funções podem ser passadas e retornadas
*
• Método Apply para Strings;

• Pré-Condições;
*
• Traits
•

Funcionamento semelhante a Interface
*
• Pattern Match
•

Funcionamento semelhante ao switch
*
*
• Utilizando bibliotecas Java:
•
•

AWT;
Swing;

• Plotando elementos
•
•
•

setPaint();
fillRect();
fillOval();
*
• Movimentos
•

Bola: Começa no centro e velocidade
crescente;

•

Barras: Via teclado, teclas UP/DOWN, W/S

• Tratamentos de colisões:
•
•
•

Bola > barras;
Bola > bordas;
Bola saindo da tela

Weitere ähnliche Inhalte

Ähnlich wie Scala: Características e Aplicações

Três anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitorTrês anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitorFelipe Hummel
 
A arquitetura modular do Java 9
A arquitetura modular do Java 9A arquitetura modular do Java 9
A arquitetura modular do Java 9Helder da Rocha
 
Gerência de Memória em Java - Parte I (2005)
Gerência de Memória em Java - Parte I (2005)Gerência de Memória em Java - Parte I (2005)
Gerência de Memória em Java - Parte I (2005)Helder da Rocha
 
Soluções escaláveis com Microsoft Orleans e Windows Azure
Soluções escaláveis com Microsoft Orleans e Windows AzureSoluções escaláveis com Microsoft Orleans e Windows Azure
Soluções escaláveis com Microsoft Orleans e Windows AzureVinicius Quaiato
 
Soluções escaláveis com Microsoft Orleans
Soluções escaláveis com Microsoft OrleansSoluções escaláveis com Microsoft Orleans
Soluções escaláveis com Microsoft Orleansakamud
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAThiago Cifani
 
Minicurso Ruby e Rails (RailsMG UNA)
Minicurso Ruby e Rails (RailsMG UNA)Minicurso Ruby e Rails (RailsMG UNA)
Minicurso Ruby e Rails (RailsMG UNA)Daniel Lopes
 
Projeto Octopus - Database Sharding para ActiveRecord
Projeto Octopus - Database Sharding para ActiveRecordProjeto Octopus - Database Sharding para ActiveRecord
Projeto Octopus - Database Sharding para ActiveRecordtchandy
 
Curso JavaScript - Aula de Introdução como Programar
Curso JavaScript - Aula de Introdução como ProgramarCurso JavaScript - Aula de Introdução como Programar
Curso JavaScript - Aula de Introdução como ProgramarTiago Antônio da Silva
 

Ähnlich wie Scala: Características e Aplicações (20)

Linguagem Java
Linguagem JavaLinguagem Java
Linguagem Java
 
Sistemas Distribuídos: RMI, CORBA e SOA
Sistemas Distribuídos: RMI, CORBA e SOASistemas Distribuídos: RMI, CORBA e SOA
Sistemas Distribuídos: RMI, CORBA e SOA
 
Java virtual machine quantas linguas fala a jvm2
Java virtual machine   quantas linguas fala a jvm2Java virtual machine   quantas linguas fala a jvm2
Java virtual machine quantas linguas fala a jvm2
 
Três anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitorTrês anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitor
 
A arquitetura modular do Java 9
A arquitetura modular do Java 9A arquitetura modular do Java 9
A arquitetura modular do Java 9
 
Introdução ao Ruby
Introdução ao RubyIntrodução ao Ruby
Introdução ao Ruby
 
01 aula1 habib
01 aula1 habib01 aula1 habib
01 aula1 habib
 
Dr Java Virtual Machine
Dr Java Virtual MachineDr Java Virtual Machine
Dr Java Virtual Machine
 
Gerência de Memória em Java - Parte I (2005)
Gerência de Memória em Java - Parte I (2005)Gerência de Memória em Java - Parte I (2005)
Gerência de Memória em Java - Parte I (2005)
 
Groovy stack
Groovy stackGroovy stack
Groovy stack
 
Java20141215 17[1]
Java20141215 17[1]Java20141215 17[1]
Java20141215 17[1]
 
Soluções escaláveis com Microsoft Orleans e Windows Azure
Soluções escaláveis com Microsoft Orleans e Windows AzureSoluções escaláveis com Microsoft Orleans e Windows Azure
Soluções escaláveis com Microsoft Orleans e Windows Azure
 
Soluções escaláveis com Microsoft Orleans
Soluções escaláveis com Microsoft OrleansSoluções escaláveis com Microsoft Orleans
Soluções escaláveis com Microsoft Orleans
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVA
 
Minicurso Ruby e Rails (RailsMG UNA)
Minicurso Ruby e Rails (RailsMG UNA)Minicurso Ruby e Rails (RailsMG UNA)
Minicurso Ruby e Rails (RailsMG UNA)
 
Projeto Octopus - Database Sharding para ActiveRecord
Projeto Octopus - Database Sharding para ActiveRecordProjeto Octopus - Database Sharding para ActiveRecord
Projeto Octopus - Database Sharding para ActiveRecord
 
Java basico
Java basicoJava basico
Java basico
 
Java 9, 10, 11
Java 9, 10, 11Java 9, 10, 11
Java 9, 10, 11
 
Curso JavaScript - Aula de Introdução como Programar
Curso JavaScript - Aula de Introdução como ProgramarCurso JavaScript - Aula de Introdução como Programar
Curso JavaScript - Aula de Introdução como Programar
 
Java8
Java8Java8
Java8
 

Scala: Características e Aplicações