A Oracle anunciou o lançamento de um novo projeto na plataforma Java: o projeto Valhalla. Trata-se de um projeto experimental do OpenJDK para que sejam desenvolvidas novas funcionalidades que exijam grandes mudanças na plataforma, como exemplo na sintaxe da linguagem ou no suporte da VM.
O Projeto Valhalla é liderado por Brian Goetz, que reforça que trata-se de um projeto de caráter experimental e em estágio inicial. Ainda segundo Goetz, a comunidade não pode esperar que nenhuma tecnologia implementada no Valhalla faça parte da versão 9 do JDK (com lançamento previsto para 2016). A ideia inicial do projeto é similar a alguns projetos existentes no OpenJDK, como exemplo Projeto Lambda e o Projeto DaVinci Machine (que levou a criação da funcionalidade de invocação dinâmica lançada com o Java 7)
Uma das funcionalidades inicialmente discutidas dentro do Valhalla trata-se de uma grande revisão dos Tipos Genéricos. As versões atuais do Java apenas permitem que estes tipos contenham apenas referências, pois removem seu conteúdo durante a compilação. Esta abordagem, conhecida como type erasure, é uma característica da linguagem Java que recebeu duras críticas em relação a sua estratégia em tipificar os objetos.
O Valhalla irá explorar uma nova funcionalidade para tipificação genérica e espera produzir uma nova forma de tipos que permita aos desenvolvedores utilizar coleções genéricas de tipos primitivos. O objetivo será validar os tipos, tais como List<int>, para que sejam compatíveis com as releases futuras do JDK. Esta característica, conhecida como especialização genérica, já está presente em algumas linguagens baseadas na JVM e os desenvolvedores do Java já haviam solicitado esta mudança quando os genéricos foram desenvolvidos e apresentados a comunidade (ainda no JDK 5).
A outra importante funcionalidade proposta pelo Valhalla refere-se ao tratamento dos value types. Esta funcionalidade tem por objetivo combinar algumas das propriedades do objeto Java e tipos primitivos, permitindo que os desenvolvedores possam tratá-los como uma nova forma de definir um tipo primitivo. John Rose, Brian Goetz e Guy Steele publicaram uma proposta inicial sobre esta funcionalidade.
A fase de protótipos das novas funcionalidades propostas pelo Valhalla deve começar em breve. Os desenvolvedores interessados em participar do projeto devem buscar a lista de e-mails com o nome de valhalla-dev no site do OpenJDK. O anúncio inicial do Projeto Vahalla foi feito por Brian Goetz na lista de e-mails do OpenJDK.