domingo, 31 de julho de 2011

Comece a usar o Java SE 7, mas não tão já [Atualizado][Isso é mal]

A Oracle anunciou ontem a disponibilidade geral da plataforma Java Standard Edition 7 (Java SE 7), o primeiro lançamento da linguagem sob a tutela da empresa, finalmente terminado após mais de 5 anos de cooperação dentro da comunidade internacional do Java.

Resultado de um processo de desenvolvimento que envolveu avaliações abertas, compilações semanais e a colaboração extensiva entre os engenheiros da Oracle e membros do ecossistema Java, principalmente a comunidade OpenJDK e o Java Community Process (JCP). O novo Java SE 7 traz uma série de avanços na sua tecnologia.

Com o projeto Coin (JSR 334), foram efetuadas mudanças na linguagem, com o intuito de aumentar a produtividade dos desenvolvedores e simplificar algumas tarefas de programação, reduzindo a quantidade de código necessária para desempenhar operações comuns, tornando a sintaxe mais clara e garantindo uma leitura facilitada do código. Com a inclusão da proposta InvokeDynamic (JSR 292) o Java passa a suportar melhor algumas linguagens dinâmicos, como Ruby, Python e JavaScript, o que representa um ganho de desempenho substancial na máquina virtual Java.

Foi também acrescentada uma API pronta para trabalhar com múltiplos núcleos de processamento, com o framework Fork/Join (JSR 166), que permite que desenvolvedores decomponham mais facilmente problemas em tarefas que podem ser executadas em paralelo através de um número arbitrário de núcleos de processamento. Além disso, com a nova interface de E/S (entrada e saída) NIO.2 (JSR 203) é possível trabalhar com sistemas de arquivos que podem acessar uma variedade maior de atributos de arquivos e oferecer mais informações na ocorrência de qualquer erro.

A nova versão ainda traz novos recursos de conectividade e segurança, suporte expandido para a internacionalização, com o acréscimo do suporte à Unicode 6.0 e versões atualizadas de um grande número de bibliotecas.

O Java SE 7 foi desenvolvido com um forte suporte à compatibilidade reversa, que permite que código desenvolvido para versões anteriores ainda possam ser usados na nova plataforma. De acordo com a Oracle, isso preserva as habilidades de programação dos desenvolvedores atuais e protege o investimento na tecnologia Java.

Os desenvolvedores interessados em começar a programar para a nova versão do Java podem usar o NetBeans Integrated Development Environment (IDE) 7.0, o Eclipse Indigo com o plug-in adicional para o Java SE 7 ou o IntelliJ IDEA 10.5, que suporta os recursos mais recentes da plataforma Java SE 7.

Contudo, a nova versão veio com alguns problemas. De acordo com um aviso da Apache Foundation o otimizador de código do Java 7 está com defeitos e pode causar falhas em loops, como resultado a JVM pode ser quebrada e cálculos produzem resultados incorretos.

Um grande número de projetos foi afetado, entre eles todas as versões publicadas do Lucene e do Solr. Os desenvolvedores do Apache afirmam que a indexação de documentos feita pelo Solr faz o Java quebrar, no Lucene o problema é ainda mais grave, pois faz os laços do Lucene compilarem incompletamente o que termina por corromper os índices.

A Oracle já registrous as falhas sob os números 7070134, 7044738 e 7068051. Contudo, afirmou que só vai corrigí-las em uma segunda revisão.

Nenhum comentário:

Postar um comentário