*
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;
• Abstr...
*
• 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
...
*
• Paradígma Orientado ao Objeto;
• Paradígma Funcional;
• Roda sobre a JVM;
• Não é uma extensão de Java, pois possui
si...
*
*
• 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

• Tratament...
Próximos SlideShares
Carregando em…5
×

Linguagem Funcional Scala

1.175 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.175
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
16
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Linguagem Funcional Scala

  1. 1. * UFERSA – Universidade Federal Rural do Semi-Árido Davi Matos
  2. 2. * • 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;
  3. 3. * • Linguagens mais famosas: • • • • • Lisp Haskell OCaml Python Scala
  4. 4. * • Criada em 2001 por Martin Odersky; • Algumas frustrações com Java; • Melhorar experiência Java; • Primeiro release público em 2003;
  5. 5. * • 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;
  6. 6. *
  7. 7. * • Declaração de tipo variáveis omitidas; • Ponto e virgula omitido; • Operadores são métodos;
  8. 8. * • If’s ternários (numa linha só); • For pode retornar valores;
  9. 9. * • Parâmetros de construtores implícitos;
  10. 10. * • Principal interesse: Resolver o problema de multicores; • Imutabilidade;
  11. 11. * • Função de Ordem Superior; • Funções podem ser passadas e retornadas
  12. 12. * • Método Apply para Strings; • Pré-Condições;
  13. 13. * • Traits • Funcionamento semelhante a Interface
  14. 14. * • Pattern Match • Funcionamento semelhante ao switch
  15. 15. *
  16. 16. * • Utilizando bibliotecas Java: • • AWT; Swing; • Plotando elementos • • • setPaint(); fillRect(); fillOval();
  17. 17. * • 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

×