além do java

30
ALÉM DO JAVA: AS OUTRAS LINGUAGENS DA JVM Maurício Linhares @mauriciojr | http://techbot.me / sábado, 9 de julho de 2011

Upload: mauricio-linhares

Post on 28-May-2015

1.069 views

Category:

Technology


2 download

DESCRIPTION

Partindo além do Java e conhecendo novas linguagens e tecnologias que podem aumentar o seu conjunto de ferramentas. Palestra apresentada originalmente em 11 de julho de 2011 no N-ésimo encontro do PBJUG.

TRANSCRIPT

Page 1: Além do java

ALÉM DO JAVA: AS OUTRAS LINGUAGENS DA JVM

Maurício Linhares@mauriciojr | http://techbot.me/

sábado, 9 de julho de 2011

Page 2: Além do java

QUEM?

•Desenvolvedor na OfficeDrop.com

• Professor na Faculdade iDez

sábado, 9 de julho de 2011

Page 3: Além do java

JAVA, ONTEMCool guy do início da década passada

sábado, 9 de julho de 2011

Page 4: Além do java

JAVA, HOJEwastelands

sábado, 9 de julho de 2011

Page 5: Além do java

NOVOS TEMPOSJava não está mais na moda

sábado, 9 de julho de 2011

Page 6: Além do java

O QUE ACONTECEU?

• Busca por padrões no papel estagnou a comunidade;

• A linguagem não sofria atualizações enquanto a concorrência seguia em frente;

• Programação concorrente trazendo a tona outra vez a programação funcional;

• JavaScript;

•Rails;

sábado, 9 de julho de 2011

Page 7: Além do java

MAS NA DIREÇÃO CONTRÁRIA...

• A comunidade começa a se voltar a novas linguagens seriamente;

• A comunidade olha com carinho pra Java Virtual Machine e as coisas que já foram desenvolvidas em cima dela;

• Em 2003 os primeiros passos sérios são dados com Scala e Groovy;

sábado, 9 de julho de 2011

Page 8: Além do java

JRUBY RESSURGERails na Java Virtual Machine é agora uma realidade

sábado, 9 de julho de 2011

Page 9: Além do java

SEGUINDO EM FRENTE

• A atenção que o JRuby consegue na comunidade faz os seus dois desenvolvedores serem contratados pela Sun (e um terceiro pela ThoughtWorks)

• A realização de que a comunidade realmente está interessada em novas linguagens na JVM reforça projetos antigos, como Scala e Groovy e traz novidades, como Clojure;

sábado, 9 de julho de 2011

Page 10: Além do java

DA VINCI VMTransformando a JVM para que ela facilite a existência de

linguagens além do Java

sábado, 9 de julho de 2011

Page 11: Além do java

MULTI LANGUAGE VM

•O sucesso do JRuby criou a necessidade de que a própria máquina virtual simplificasse a vida de quem quer colocar sua linguagem de programação na JVM;

•Novos bytecodes, rotinas de execução e muita gente discutindo soluções novas pra que Java, como plataforma, seja onde os programas continuam executando;

sábado, 9 de julho de 2011

Page 12: Além do java

JAVA COMO PLATAFORMA

sábado, 9 de julho de 2011

Page 13: Além do java

E EU COM ISSO?

sábado, 9 de julho de 2011

Page 14: Além do java

MARTELOS! DIVERSOS!Para todos os seus pregos, mesmo que eles não sejam pregos!

sábado, 9 de julho de 2011

Page 15: Além do java

DIVERSIDADE

• Cada linguagem tem seus prontos fortes e fracos, conhecer várias linguagens adiciona novas ferramentas na sua caixinha de conhecimento;

• Aprender linguagens de ideais ou paradigmas diferentes faz com que você possa ter um ponto de vista diferente na hora de resolver os mesmos problemas;

sábado, 9 de julho de 2011

Page 16: Além do java

PROBLEMAPreciso enviar um arquivo para um armazenamento na nuvem, mas a rede não é confiável e pode falhar a qualquer momento.

Meu código deve ser capaz de tentar por um número X de vezes até desistir e lançar o erro capturado.

sábado, 9 de julho de 2011

Page 17: Além do java

EM RUBYdef retry( tries, &block) count = 0 begin count += 1 block.call rescue => e if count <= tries retry! else raise e end endend

retry(3) do send_file( "file" )end

sábado, 9 de julho de 2011

Page 18: Além do java

COMO FAZER O MESMO EM JAVA?

É possível fazer o mesmo?

sábado, 9 de julho de 2011

Page 19: Além do java

“APRENDER UMA NOVA LINGUAGEM DE

PROGRAMAÇÃO É SÓ APRENDER A SINTAXE”

Alguém que você conhece

sábado, 9 de julho de 2011

Page 20: Além do java

AHÃ, SENTA LÁ, LUIGI

sábado, 9 de julho de 2011

Page 21: Além do java

APRENDA UMA NOVA LINGUAGEM DE

PROGRAMAÇÃO A CADA ANO

E que sejam diferentes, aprender C# se você já programa em Java não traz vantagens

sábado, 9 de julho de 2011

Page 22: Além do java

SCALA

sábado, 9 de julho de 2011

Page 23: Além do java

CLOJURE

sábado, 9 de julho de 2011

Page 24: Além do java

RUBY

sábado, 9 de julho de 2011

Page 25: Além do java

JAVA

sábado, 9 de julho de 2011

Page 26: Além do java

SCALA

• Une programação orientada a objetos a funcional;

• Sintaxe próxima a do Java e integração completa com a linguagem, incluindo compilação de projetos híbridos Scala-Java;

•Modelo de objetos próximo ao do Java, é simples chamar objetos Scala a partir de código Java puro;

sábado, 9 de julho de 2011

Page 27: Além do java

CLOJURE

• Lisp on Java!

• Linguagem puramente funcional, um dialeto de Lisp, executando dentro da JVM;

• Acesso completo as bibliotecas do Java, incluindo todo o suporte a programação concorrente de verdade;

•Macros, macros and MACROS!

sábado, 9 de julho de 2011

Page 28: Além do java

JRUBY

• Implementação completa e funcional de um interpretador da linguagem Ruby executando na JVM;

• É capaz de executar normalmente aplicações Rails e a maior parte do código Ruby disponível atualmente;

• Acesso simplificado a código nativo através de FFI e JNA;

sábado, 9 de julho de 2011

Page 29: Além do java

DEMO ON RAILS

sábado, 9 de julho de 2011

Page 30: Além do java

DÚVIDAS?Obrigado!

sábado, 9 de julho de 2011