A diferença das linguagens da JVM na prática. Um projeto de bolsa de valores em clojure

Post on 24-May-2015

809 views 2 download

description

Palestra apresentada no Caelum Day Rio 2011.

Transcript of A diferença das linguagens da JVM na prática. Um projeto de bolsa de valores em clojure

A diferença das linguagens da JVM na prática.

Um projeto de bolsa de valores em clojure

sábado, 2 de julho de 2011

José Donizettijose.donizetti@caelum.com.br

@josedonizetti

Luiz Costaluiz.costa@caelum.com.br

@gutomcostawww.sagadoprogramador.com.br

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

POLÊMICO

sábado, 2 de julho de 2011

De volta as origens!!!

sábado, 2 de julho de 2011

λx.xsábado, 2 de julho de 2011

Simplificando!

sábado, 2 de julho de 2011

Orientação a Objetos

sábado, 2 de julho de 2011

Conjunto de Idéias.

sábado, 2 de julho de 2011

E no funcional?

sábado, 2 de julho de 2011

Conjunto de Idéias.

sábado, 2 de julho de 2011

Por quê?

sábado, 2 de julho de 2011

1º Motivo: Porque somos NERDS!

sábado, 2 de julho de 2011

2º Motivo: Se tornando mainstream.

sábado, 2 de julho de 2011

Palestra de Encerramento!

+

sábado, 2 de julho de 2011

expressividade, modularização, menos linhas de codigo, mais fácil debugar, de testar, etc.

3º Motivo: Fazer software com qualidade.

sábado, 2 de julho de 2011

Código Imperativo em java

Como?

sábado, 2 de julho de 2011

Código Declarativo em ruby

O que?

sábado, 2 de julho de 2011

Código Declarativo em clojure

O que?

sábado, 2 de julho de 2011

O conjunto de idéias do Funcional.

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

Cadê os Sets?

sábado, 2 de julho de 2011

Imutabilidade(concorrencia)

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

First Class Citizen

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

Higher Order Function

Uma função que recebe outra função como argumento ou retorna uma função.

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

acessando a variável em outro escopo

sábado, 2 de julho de 2011

Closure

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

Recursão

sábado, 2 de julho de 2011

ContinuationsPatter MatchingLazy Evaluation

Curryingsábado, 2 de julho de 2011

Exemplo.

sábado, 2 de julho de 2011

Introdução ao Argentum

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

dados e funções separadossábado, 2 de julho de 2011

????????????

sábado, 2 de julho de 2011

declarando as funções

sábado, 2 de julho de 2011

compondo com a função

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

sábado, 2 de julho de 2011

aplicando a função

sábado, 2 de julho de 2011

calculando média móvel

sábado, 2 de julho de 2011

calculando média móvel

sábado, 2 de julho de 2011

Conclusão

sábado, 2 de julho de 2011

Obrigado!

sábado, 2 de julho de 2011