Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
*
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...
Upcoming SlideShare
Loading in …5
×

Linguagem Funcional Scala

1,217 views

Published on

  • Be the first to comment

  • Be the first to like this

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

×