Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Java 7: Linguagem - Java Magazine 82
Começamos aqui a cobertura da plataforma Java SE 7, cujo release final será lançado ainda este ano (deve estar em fase Release Candidate quando o leitor receber esta Edição). Neste primeiro artigo, focamos na linguagem Java 7: novos recursos sintáticos como multi-catch, lambdas, ARM, etc.
Java Magazine 82
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Java Magazine 82
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Java Magazine 82
Java 7: Linguagem
Conheça as novidades da linguagem Java, geração 7
Uma visão didática, e ao mesmo tempo profunda, das novas sintaxes da linguagem Java 7
Chegou novamente a hora de recepcionar uma “nova versão do Java”. O fato de podermos usar esta expressão sem qualificá-la – no caso, é apenas a plataforma Java SE que está sendo atualizada – mostra o papel fundamental desta plataforma, o eixo central de todo o ecossistema Java. Todo o resto – Java EE, Java ME, JavaFX, até mesmo alternativas como o Android – é secundário, derivado: igual a alguma versão do Java SE, mais isso, menos aquilo.
O último artigo desse tipo que escrevi já é bastante antigo: “Prepare-se para o Mustang” saiu na Edição 33, em meados de 2006... longos quatro anos. O leitor não deveria ter esperado tanto por este novo artigo, pois lá naquela edição, no quadro “Versionamento e evolução do Java SE”, apontávamos para 2008 como estimativa para o Java SE 7. Citando o quadro:
Outra característica do novo modelo é que as atualizações principais (versão maior) são mais freqüentes, que tiveram um ciclo estimado em 18-24 meses na época do lançamento do Tiger. Foi uma boa estimativa: o release final do Mustang ocorrerá 21 meses após o do Tiger, bem melhor que os 31 meses entre o Merlin J2SE 1.4.0 e o J2SE 5.0. Note que somente as versões “oficiais” precisam ser acompanhadas por outros implementadores (como BEA, IBM e grupos open source); as versões micro e de manutenção são específicas à implementação da Sun.
Quanta coisa mudou de lá para cá! Primeiro, a palavra “freqüentes” perdeu o trema. ? Segundo, não há mais nenhuma “implementação da Sun”: o próximo JDK será o Oracle JDK 7. Terceiro, o Java SE 7 não foi lançado em “18-24 meses” após o Java SE 6. Se este vier por volta do final de 2010, como atualmente esperado, terão sido quatro anos de espera. Vamos conhecer aqui esta jornada, apresentar as novidades do Java SE 7 (APIs e linguagem Java), e ver se valeu a espera.
A jornada do Java 7
Fazendo justiça, a demora na entrega do Java SE 7 não foi tanto um atraso, mas um desvio de rota. Não é que o plano não tenha sido bem executado, mas sim, foi sendo aos poucos substituído por outros planos. Isso aconteceu por que, logo após o lançamento do Java SE 6, a Sun se deu conta – ou pelo menos, começou a tomar alguma atitude – de três problemas:
1. A defasagem do Java no desktop & web – as Applets estavam “mortas”, frente à competição de plataformas como HTML/JavaScript, Flex ou Silverlight;
2. A defasagem do Java nas plataformas móveis – o Java ME ainda dominava, mas no segmento high-end já era ameaçado pelo WinMob, Linux, Palm, e pelos anúncios de um tal iPhone;
3. A crescente popularidade das linguagens dinâmicas (dinamicamente tipadas).
A Sun agiu então para enfrentar todos estes desafios, o que aconteceu em várias frentes:
1. O Projeto Update N, com muitas melhorias para o Java-no-cliente. Os primeiros frutos vieram em outubro de 2008 (6u10), mas é um esforço contínuo (mais melhorias no 6u14, 6u18, 6u21);
2. O anúncio, na JavaOne 2007, de uma nova plataforma móvel chamada JavaFX, que viria renovar e revolucionar o Java ME. O primeiro release veio em dezembro de 2008;
3. A JSR-292 (invokedynamic) e o projeto MLVM, que trarão para o Java SE 7 (e além) aperfeiçoamentos da JVM para acomodar uma variedade maior de linguagens de programação.
Note que a JavaFX, concebida como uma plataforma móvel, logo mudou de rumo. A Sun desistiu de criar uma plataforma completa (com kernel, stack GSM, desktop etc.). Sábia decisão, pois isso exigiria muito investimento (competindo com Microsoft e Google), e talento no design voltado ao usuário final (competindo com a Apple). A Sun não tinha nenhum destes requisitos...
Por outro lado, a JavaFX foi expandida para todos os segmentos: móvel, desktop e TV; e virou parte da solução também para o problema 1 (desktop), reconhecendo que parte deste problema era culpa das APIs legadas de GUI do Java SE (AWT, Java2D, Swing, JMF...), e as melhorias possíveis no Update N não bastariam para tornar o Java competitivo na nova geração RIA.
Acrescente a essa confusão outros fatores, como a evolução do OpenJDK (que nasceu por volta do lançamento do Java SE 6); A deterioração financeira da Sun, que resultaria num penoso processo de aquisição, das primeiras conversas com a IBM até a decisão da Oracle e o grande atraso causado pela Comunidade Europeia; Finalmente, o difícil período de transição dos projetos da Sun já dentro da Oracle. Somando tudo, devemos ficar satisfeitos com o release do Java SE 7 ainda em 2010.
O plano atual
No momento em que escrevo, o JDK 7 Milestone 8 (b96) foi disponibilizado há pouco (testei a maioria das listagens deste artigo com o b99). A Oracle mantém o seguinte planejamento, em openjdk.java.net/projects/jdk7/milestones:
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP
Conheça as novidades da linguagem Java, geração 7
Uma visão didática, e ao mesmo tempo profunda, das novas sintaxes da linguagem Java 7
Chegou novamente a hora de recepcionar uma “nova versão do Java”. O fato de podermos usar esta expressão sem qualificá-la – no caso, é apenas a plataforma Java SE que está sendo atualizada – mostra o papel fundamental desta plataforma, o eixo central de todo o ecossistema Java. Todo o resto – Java EE, Java ME, JavaFX, até mesmo alternativas como o Android – é secundário, derivado: igual a alguma versão do Java SE, mais isso, menos aquilo.
O último artigo desse tipo que escrevi já é bastante antigo: “Prepare-se para o Mustang” saiu na Edição 33, em meados de 2006... longos quatro anos. O leitor não deveria ter esperado tanto por este novo artigo, pois lá naquela edição, no quadro “Versionamento e evolução do Java SE”, apontávamos para 2008 como estimativa para o Java SE 7. Citando o quadro:
Outra característica do novo modelo é que as atualizações principais (versão maior) são mais freqüentes, que tiveram um ciclo estimado em 18-24 meses na época do lançamento do Tiger. Foi uma boa estimativa: o release final do Mustang ocorrerá 21 meses após o do Tiger, bem melhor que os 31 meses entre o Merlin J2SE 1.4.0 e o J2SE 5.0. Note que somente as versões “oficiais” precisam ser acompanhadas por outros implementadores (como BEA, IBM e grupos open source); as versões micro e de manutenção são específicas à implementação da Sun.
Quanta coisa mudou de lá para cá! Primeiro, a palavra “freqüentes” perdeu o trema. ? Segundo, não há mais nenhuma “implementação da Sun”: o próximo JDK será o Oracle JDK 7. Terceiro, o Java SE 7 não foi lançado em “18-24 meses” após o Java SE 6. Se este vier por volta do final de 2010, como atualmente esperado, terão sido quatro anos de espera. Vamos conhecer aqui esta jornada, apresentar as novidades do Java SE 7 (APIs e linguagem Java), e ver se valeu a espera.
A jornada do Java 7
Fazendo justiça, a demora na entrega do Java SE 7 não foi tanto um atraso, mas um desvio de rota. Não é que o plano não tenha sido bem executado, mas sim, foi sendo aos poucos substituído por outros planos. Isso aconteceu por que, logo após o lançamento do Java SE 6, a Sun se deu conta – ou pelo menos, começou a tomar alguma atitude – de três problemas:
1. A defasagem do Java no desktop & web – as Applets estavam “mortas”, frente à competição de plataformas como HTML/JavaScript, Flex ou Silverlight;
2. A defasagem do Java nas plataformas móveis – o Java ME ainda dominava, mas no segmento high-end já era ameaçado pelo WinMob, Linux, Palm, e pelos anúncios de um tal iPhone;
3. A crescente popularidade das linguagens dinâmicas (dinamicamente tipadas).
A Sun agiu então para enfrentar todos estes desafios, o que aconteceu em várias frentes:
1. O Projeto Update N, com muitas melhorias para o Java-no-cliente. Os primeiros frutos vieram em outubro de 2008 (6u10), mas é um esforço contínuo (mais melhorias no 6u14, 6u18, 6u21);
2. O anúncio, na JavaOne 2007, de uma nova plataforma móvel chamada JavaFX, que viria renovar e revolucionar o Java ME. O primeiro release veio em dezembro de 2008;
3. A JSR-292 (invokedynamic) e o projeto MLVM, que trarão para o Java SE 7 (e além) aperfeiçoamentos da JVM para acomodar uma variedade maior de linguagens de programação.
Note que a JavaFX, concebida como uma plataforma móvel, logo mudou de rumo. A Sun desistiu de criar uma plataforma completa (com kernel, stack GSM, desktop etc.). Sábia decisão, pois isso exigiria muito investimento (competindo com Microsoft e Google), e talento no design voltado ao usuário final (competindo com a Apple). A Sun não tinha nenhum destes requisitos...
Por outro lado, a JavaFX foi expandida para todos os segmentos: móvel, desktop e TV; e virou parte da solução também para o problema 1 (desktop), reconhecendo que parte deste problema era culpa das APIs legadas de GUI do Java SE (AWT, Java2D, Swing, JMF...), e as melhorias possíveis no Update N não bastariam para tornar o Java competitivo na nova geração RIA.
Acrescente a essa confusão outros fatores, como a evolução do OpenJDK (que nasceu por volta do lançamento do Java SE 6); A deterioração financeira da Sun, que resultaria num penoso processo de aquisição, das primeiras conversas com a IBM até a decisão da Oracle e o grande atraso causado pela Comunidade Europeia; Finalmente, o difícil período de transição dos projetos da Sun já dentro da Oracle. Somando tudo, devemos ficar satisfeitos com o release do Java SE 7 ainda em 2010.
O plano atual
No momento em que escrevo, o JDK 7 Milestone 8 (b96) foi disponibilizado há pouco (testei a maioria das listagens deste artigo com o b99). A Oracle mantém o seguinte planejamento, em openjdk.java.net/projects/jdk7/milestones:
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais!

Você está em:
canal Java
Publicidade
Osvaldo Pinali Doederlein
Space do autor
é Mestre em Engenharia de Software Orientado a Objetos e Arquiteto de Tecnologia da Visionnaire Informática, trabalhando em projetos de software e prospecção tecnológica.
Space do autor


0
0
