Este é um post disponível para assinantes MVPArtigo Java Magazine 31 - Novas Fronteiras do Java
Artigo publicado pela Java Magazine edição 31.
Esse artigo faz parte da revista Java Magazine edição 31. Clique aqui para ler todos os artigos desta edição

Atenção: por essa edição ser muito antiga não há arquivo PDF para download.Os artigos dessa edição estão disponíveis somente através do formato HTML.

Novas Fronteiras do Java
Evolução e perspectivas da linguagem e plataforma
Uma análise dos rumos da evolução futura da linguagem e plataforma Java, e uma exploração de pesquisas em otimizações promissoras para JVMs
Osvaldo Pinali Doederlein
Na edição anterior (“Performance Aplicada”), exploramos o estado da arte das máquinas virtuais Java, mostrando como funcionam algumas otimizações avançadas das JVMs da Sun e de outras empresas, inclusive algumas já em desenvolvimento para o Mustang (Java SE 6).
Olhando mais além, ainda podemos esperar muitas melhorias importantes? Ou será que as JVMs atuais já implementaram todas as otimizações de maior impacto, e só teremos avanços incrementais cada vez menores?
Além disso, quanto à linguagem, estamos satisfeitos com as novidades do Java 5 ou precisamos de novas melhorias de sintaxe?
Para responder a essas perguntas, vamos apresentar diversas idéias que atualmente estão nos “laboratórios” e que poderão estar disponíveis na plataforma Java SE daqui a algum tempo. Também vamos analisar o panorama da pesquisa que está definindo novos rumos para a tecnologia Java.
Como veremos, boa parte das novas tecnologias não é desenvolvida inicialmente pelos implementadores do Java, como a Sun e a IBM, e sim no meio acadêmico. Até as empresas mais inovadoras costumam focar investimentos em técnicas que já passaram por um estágio de amadurecimento, provando que são viáveis. É nas universidades que acontecem os estudos mais arriscados, apresentando conceitos totalmente novos, e que talvez proporcionem a próxima revolução em linguagens e compiladores. A maioria das futuras tecnologias de impacto não são segredos comerciais: são material de acesso público, disponíveis para download gratuito na internet1.
Se por um lado podemos melhorar a implementação de linguagens existentes de forma transparente para o desenvolvedor, as linguagens em si também estão em contínua evolução e competição. Acompanhando o recente lançamento do .Net 2.0 e C# 2.0, vamos examinar a disputa Java versus Microsoft e suas direções futuras, focando na evolução do Java e outras linguagens para execução sobre JVMs como o Groovy.
Utilizamos aqui alguns termos pouco usuais em publicações sobre programação, especialmente conceitos de arquitetura de hardware que são essenciais para entender pesquisas sobre implementações de JVMs. Esses termos, identificados com marcadores “D”, são explicados no quadro “Conceitos”
Java: a plataforma da pesquisa
O sucesso acadêmico do Java e a Jikes RVM
Conhecemos bem a popularidade do Java no desenvolvimento de aplicações, mas é menos difundido o seu sucesso para pesquisa. Este sucesso não é difícil entender. Linguagens para pesquisa devem ser idealmente abertas e multiplataforma, facilitando a divulgação de trabalhos na comunidade acadêmica global. Também devem ser de alto nível, poderosas e dinâmicas, facilitando a codificação de algoritmos complexos. Linguagens com funcionalidades como reflection e execução interpretada tornam mais fáceis técnicas de meta-programação, as quais facilitam especialmente pesquisas em linguagens e compiladores. Também é muito útil que a linguagem seja "popular" (de sucesso comercial), pois isso aumenta a oferta de ferramentas e de literatura, e expande a comunidade. Além de trazer mais facilidade na transição de pesquisas para produtos. Finalmente, bom desempenho nunca faz mal!
Tradicionalmente, a linguagem C ocupava boa parte do espaço de linguagens de pesquisa, por ser popular, aberta, multiplataforma (ainda que com reservas) e eficiente. Mas como C é uma linguagem de baixo nível e nada dinâmica, muitos preferiam as linguagens "OO-puras" como Smalltalk e as funcionais como Lisp, Scheme e ML; mas estas tinham desvantagens de portabilidade e desempenho - e pouco sucesso comercial2.
A linguagem Java venceu essas barreiras, reunindo uma massa crítica de qualidades desejáveis em linguagens de pesquisa num só pacote. Pode não ser uma linguagem tão boa quanto todas essas outras em todos os requisitos mencionados, mas tem um equilíbrio excelente, sendo pelo menos aceitável em todos.
A Jiles RVM
Nos últimos anos, a tecnologia Java também tem se beneficiado de uma ferramenta ímpar - a Jikes Research VM (RVM), que já mencionamos no artigo "JVMs Alternativas" na Edição 24. Criada pela IBM e depois transformada num projeto open source, a RVM é implementa da totalmente em Java, sendo capaz de executar a si mesma mediante técnicas de "
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP
Space do autor


0
0
