Além do java
-
Upload
mauricio-linhares -
Category
Technology
-
view
1.069 -
download
2
description
Transcript of 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
QUEM?
•Desenvolvedor na OfficeDrop.com
• Professor na Faculdade iDez
sábado, 9 de julho de 2011
JAVA, ONTEMCool guy do início da década passada
sábado, 9 de julho de 2011
JAVA, HOJEwastelands
sábado, 9 de julho de 2011
NOVOS TEMPOSJava não está mais na moda
sábado, 9 de julho de 2011
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
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
JRUBY RESSURGERails na Java Virtual Machine é agora uma realidade
sábado, 9 de julho de 2011
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
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
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
JAVA COMO PLATAFORMA
sábado, 9 de julho de 2011
E EU COM ISSO?
sábado, 9 de julho de 2011
MARTELOS! DIVERSOS!Para todos os seus pregos, mesmo que eles não sejam pregos!
sábado, 9 de julho de 2011
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
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
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
COMO FAZER O MESMO EM JAVA?
É possível fazer o mesmo?
sábado, 9 de julho de 2011
“APRENDER UMA NOVA LINGUAGEM DE
PROGRAMAÇÃO É SÓ APRENDER A SINTAXE”
Alguém que você conhece
sábado, 9 de julho de 2011
AHÃ, SENTA LÁ, LUIGI
sábado, 9 de julho de 2011
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
SCALA
sábado, 9 de julho de 2011
CLOJURE
sábado, 9 de julho de 2011
RUBY
sábado, 9 de julho de 2011
JAVA
sábado, 9 de julho de 2011
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
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
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
DEMO ON RAILS
sábado, 9 de julho de 2011
DÚVIDAS?Obrigado!
sábado, 9 de julho de 2011