Palestra: Para onde vai a plataforma Java? – Falando em Java 2009

by

Para onde vai a plataforma Java? Linguages dinâmicas, JavaTV, JavaFX e além!

Palestra apresentada por Anderson Leite e Fabio Kung

Basicamente tivemos como carro chefe da apresentação as novidades do Java 7 e Java 8. Eis abaixo elas:

Java 7

Está muito incerto quais as features que irão realmente sair, e muita coisa que ia sair não vai mais. A nova versão passa por um processo muito demorado e burocrático. Sua previsão de lançamento (JDK) é em Janeiro de 2010. Os palestrantes fizeram uma breve pesquisa com os participantes do evento e constataram que só um quinto usam Java 6. Se a maioria não está usando Java 6, porque  pensar em usar o Java 7 (fora que o Java 5 é muito usado também)? Essas tendências para o  futuro só o futuro dirá se surtirão efeito.

Polarização de Plataformas

Kung acredita que ocorrerá uma polarização entre plataformas, não entre linguagens. Várias linguagens serão executadas sobre a plataforma .NET ou plataforma Java. A Microsoft saiu na frente com o Java e a Sun correu atrás, meio atrasada com o MLVM (Da Vinci Machine). No final, o objetivo é tornar a plataforma a melhor “hospedeira” para outras linguagens, não só a nativa.

Novidades do Java 7

Kung e Anderson mostraram exemplos em código estático acerca das principais características da versão (Para detalhes mais técnicos da especificação, vide  Alex Miller e Peter Ahé):

  • Meta Object Protocol;
  • Fast Interfaces;
  • Tuple Signatures;
  • Method Handles;
  • Invoke Dynamic;
  • Interface Dynamic;
  • Anonymous Classes;
  • Interface Injection;
  • Tail Class.

Como a JVM é bastante dinâmica e só a pouco tempo viu-se o “poder de aceitação” para outras linguagens que ela tem, será questão de tempo para a plataforma se adaptar a essa realidade. Por isso o projeto do MLVC é pretensão real para a versão 7. Um exemplo é o uso do Invoke Dynamic: a JVM executa o código, faz uma requisição ao target para saber em qual linguagem compilar (JRuby, Jython, etc.) e executa. Tal qual o Java, após a primeira execução a velocidade de qualquer código é praticamente a mesma de um código Java executado. Outra novidade será o JigSaw (descrito pelas JSR294 e JSR277), que tem como idéia versionar arquivos .jar (ainda é dúvida se entra para a versão 7). E por último o G1, o Garbage First (novo Garbage Collector), que agora não será mais definido por regiões estáticas, mas por regiões dinâmicas e poderá ter o tempo de passagem de coleta de lixo definido pelo usuário.

Java 8

Closures (não confundir com Clojure, a linguagem de programação), idéia para a versão 8, ainda está sendo discutida em termos de padrão, mas a idéia principal (inspirada em Ruby) é rodar “pedaços de código” dentro de um “código completo”. No momento temos 3 propostas para padrão a ser seguido:

  • BGGA;
  • CICE (Google por trás deste estilo de padrão);
  • FCM.

Outras novidades para esta versão são:

  • Switchs poderão aceitar strings;
  • JavaBean Property: suporte a Getters e Setters automáticos na criação de atributos;
  • BigDecimal Operator Support: novo literal pra BigDecimal (ex: 10n) e suporte a sobrecarga de operadores.

JavaTV, JavaFX e além?

Devido a tomarem grande parte da palestra com exemplos e futuro da plataforma Java, os termos que perfaziam o final do título da apresentação foram pouco abordados. Sobre JavaTV foi apenas mostrado o diagrama do Ginga e dito que há grande potencial para os desenvolvedores e grandes players para a TV Digital no Brasil. E no caso do JavaFX é que a onda das aplicações RIA e clients gordos (usando Adobe Flex, Silverlight e outros) está em alta. Como diria o poeta e colega nosso Fabrício Campos: choveram no molhado na parte final da apresentação, e não conseguiram dar por completo o foco da palestra.

Eles indicaram para leitura um artigo da Mozilla: “Introduction to JavaScript” (outro link do mesmo assunto).

Tags: , , , , , ,

2 Respostas to “Palestra: Para onde vai a plataforma Java? – Falando em Java 2009”

  1. Oracle Says:

    Ruby inventou clousures? Essa é nova…

  2. Andre Pantaliao Says:

    O palestrante no evento disse que elas foram inspiradas nas closures como as do Ruby, a título de comparação… Mas concordo que no texto isto não ficou claro.

    Obrigado pela leitura e comentário

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s


%d blogueiros gostam disto: