Mark Reinhold, Arquiteto Chefe de Java na Oracle, propõe no seu blog adiar a entrega do Projeto Jigsaw, a funcionalidade de modularização nativa prevista para o Java 8. As justificativas apresentadas por Reinhold são o tempo curto para concluir o desenvolvimento do projeto e para realizar uma avaliação aprimorada sobre os impactos na plataforma Java. (O InfoQ Brasil vem acompanhando a evolução e o desenvolvimento do Projeto Jigsaw, assim como os planos para as futuras versões do Java.)
De acordo com o planejamento inicial da Oracle, o cronograma proposto para o desenvolvimento do Java 8 deveria ser concluído no primeiro semestre de 2013. O objetivo do Projeto Jigsaw é implementar a modularização nativa para o Java SE, extensível para todo o JDK e a plataforma Java. Alguns dos objetivos desse mecanismo de modularização é tornar mais eficiente o modelo de distribuição do JDK e corrigir deficiências no modelo atual .
Apesar dos benefícios, o esforço para a modularização do Java impõe mudanças que afetam todo o ecossistema da tecnologia Java. Além de modificar a maneira que que a plataforma é implantada, também modifica a maneira que os desenvolvedores implantam bibliotecas, frameworks, ferramentas e aplicações.
Segundo Reinhold o mais viável é entregar o Jigsaw no lançamento do Java 9:
O projeto Jigsaw está evoluindo, mas alguns desafios técnicos significativos permanecem. Não há tempo suficiente para uma avaliação ampla, com feedback mais detalhado sobre os impactos causados pelas mundaças na plataforma. Portanto, proponho adiar o lançamento do Jigsaw para o Java 9.
A compatibilidade com o código legado é um desafio técnico delicado, entre os apontados por Reinhold. Mas ainda existem outros, como conceber um protótipo para apoiar a adaptação de IDEs, servidores de aplicações e containers de applets, por exemplo.
Apesar da preferência em entregar o Jigsaw no lançamento do Java 9, Reinhold apresenta outra alternativa:
A situação é difícil, mas outra opção seria atrasar o lançamento do Java 8 até que o Jigsaw seja concluído. Isso deve acontecer no primeiro semestre de 2014.
A alternativa de atrasar o lançamento do Java 8, como um todo, pode gerar impacto negativo. A comunidade envolvida com Java prefere um ciclo de lançamentos regular e previsível. Reinhold cita a importância em estabelecer algo nesse sentido para o Java SE:
Com objetivo de aumentar a previsibilidade de futuras versões do Java SE, também sugiro estabelecer um ciclo para lançamentos regulares do Java SE, a cada dois anos.
Sem o Jigsaw, o Java 8 continua com sua conclusão planejada para setembro de 2013. Incluindo o Projeto Lambda, uma nova API para manipulação de datas, extensão no uso de anotações em tipos do Java e outras melhorias, de acordo com a especificação guarda-chuva do Java 8.
Seguindo a proposta do ciclo de dois anos, o Java 9 deve ser lançado por volta de setembro de 2015, com o Jigsaw e vários outros recursos que ainda serão apresentados pelo comitê. A proposta para adiar a entrega do Jigsaw já foi publicada na lista de discussão do Open JDK.