Java 7 para o meio de 2011 ou até 2012?

Hoje saiu um post no blog do Mark Reinhold, um dos arquitetos chefe do Java:
http://blogs.sun.com/mr/entry/rethinking_jdk7

Dada a dificuldade das muitas novidades que entrariam no JDK7, ele iria sair apenas no meio de 2012. O que se cogita é uma hipotese de lançar uma versão menor, com menos features na linguagem (como as clojures), no meio de 2011. Ambas as opções desanimam muitos desenvolvedores. Brian Goetz comenta no post de que a versão menor é praticamente não realizar mudanças: é quase o mesmo Java 6 com algumas mudanças sintaticas muito pequenas.

O que você acha?

Eu fiquei bastante animado com as features novas prometidas (coin+jigsaw+lambda), e como gosto bastante da linguagem em si, estava esperando todas elas para o fim desse ano, conforme prometido. Vale lembrar que a Sun chegou a prometer o JDK7 para 2008 (quando saiu o Java 6 em 2006). Para um pouco de contentamento, temos essa grande proliferação de linguagens rodando na JVM que tem trazido bastante novidade. Qual delas você tem usado em sistemas reais? Ruby com JRuby? Clojure? Scala?

São muitas mudanças… mas será que lançar “uma versão” a cada 6 meses não traria menos riscos?

Acho que se o JDK 7 for realmente lançado em 2012, até lá existe sérias chances de linguagem como Ruby, Python e outras já estarem sendo adotadas em larga escala pelas empresas.

Uma pena demorar tanto pra sair, e depois ser adiado desse jeito.

Pra mim isso só reforça aquela idéia da consolidação do java como plataforma, e não como linguagem - bom e ruim ao mesmo tempo :confused:

[quote]Posted by Guillaume Laforge on September 08, 2010 at 09:53 AM PDT #

release early, release often.[/quote]

Do jeito que a coisa tá atrasada, se sair o projeto Da Vinci sair agora, já é lucro.

Meu sentimento mesmo é de decepção e raiva.

Fiquei sabendo que estam investindo pesado em relação ao Garbage Collector (GC)… Estou ansioso por mais informações…

André AS

Que bom que é no meio do ano né? da pra usar 6 meses antes do fim do mundo. :smiley:

Marque um X na opção com mais probabilidade de virar realidade:

[ ] Java 7
[ ] Gran Turismo 5
[ ] Duke Nuken Forever

Será que é tão dificil assim implementar estas mudanças ?

A única coisa que interessa do java7 é o aumento de performance. Quanto a closures, super switch, dinamismo, etc, já tenho no groovy desde 2006.

Acho que esse é o ponto chave.
Java como plataforma.

Programar nas outras linguagens têm sido mais prazeroso.
Mas não dá pra deixar de lado a robustez da JVM e, por isso, usá-la como base é uma ótima alternativa.

Abraços.

[quote=mario.fts]Que bom que é no meio do ano né? da pra usar 6 meses antes do fim do mundo. :smiley:

Marque um X na opção com mais probabilidade de virar realidade:

[ ] Java 7
[ ] Gran Turismo 5
[X] Duke Nuken Forever

Será que é tão dificil assim implementar estas mudanças ?

[/quote]

Aki no Governo tem muito projeto usando o java 5 ainda, uauahu mesmo q o java 7 sai hj vai demorar ate eu começar a usar entauma tantao fa

Acho que é uma boa saída liberar algumas features mínimas, e deixar as mais pesadas para depois.
Dá para avaliar melhor os impactos das novas features, e ainda amadurecer melhor, mas para falar a verdade não acho que a demora para uma nova versão do java seja impactante para o futuro da linguagem, não importa se uma nova versão vem ao ar, Java continua forte como linguagem e mais ainda como plataforma, acho que essa coisa de ‘nova versão’ tem maior impacto para os desenvolvedores, mas não para as empresas, para estas basta ter uma linguagem estável e madura.

[quote=king_of_gods]São muitas mudanças… mas será que lançar “uma versão” a cada 6 meses não traria menos riscos?

Acho que se o JDK 7 for realmente lançado em 2012, até lá existe sérias chances de linguagem como Ruby, Python e outras já estarem sendo adotadas em larga escala pelas empresas.[/quote]

Se for pra ficar só em web sites acho que Ruby e Python são boas escolhas, mas acredito estarem em desvantagem com relação a Scala e Clojure para substituir o Java como linguagem para JVM.

[quote=mario.fts]Que bom que é no meio do ano né? da pra usar 6 meses antes do fim do mundo. :smiley:

Marque um X na opção com mais probabilidade de virar realidade:

[ ] Java 7
[ ] Gran Turismo 5
[ ] Duke Nuken Forever

Será que é tão dificil assim implementar estas mudanças ?

[/quote]

Fazer as mudanças e ainda manter a compatibilidade??? Com certeza! existem coisas que são bem mais complexas do que agente imagina, como o famoso caso do generics:

List<MyObject> myObjects = new ArrayList<MyObjects>();

Em tese, você precisaria colocar apenas o List myObjects ao invés de List myObjects . Segundo a palestrante colombiana do último SunTech Days, os engenheiros da Sun gastaram meses quebrando a cabeça para fazer isso funcionar.

Seria bom saber quais seriam as tais features já “completas” que entrariam em 2011. Se invokedynamic e JSR-310 entrarem, então até não é tão ruim esperar até 2012 pro Lambda e Jigsaw.

EDIT: O Mark meio que respondeu isso nos comentários do blog dele:

[quote=Mark Reinhold]JDK 7 - (Lambda + Jigsaw + part of Coin) = Most of Coin + NIO.2 (JSR 203) +
InvokeDynamic (JSR 292) + “JSR 166y” (fork/join, etc.) + most everything else
on the current feature list (http://openjdk.java.net/projects/jdk7/features/) +
possibly a few additional features TBD.
[/quote]

Vish… realmente, esta demorando bastante, isso me desanima um pouco, por que mesmo que saisse esse ano, imagina quanto tempo demoraria para as empresas adotarem o Java 7?

Agora para 2012? Até lá, acredito que varios já deixaram de programar em Java para uma linguagem mais dinamica (Mesmo se for uma que rode na JVM).

Eu já testei JRuby com Swing, e não gostei muito não, programar ficou mais facil só que tem uns bugs estranhos que me fizeram desistir de continuar.

Eu fico um pouco desepcionado… Mas acho muito melhor esperar e lançar o Java7 com mudanças que tenham grande impacto do que só com algumas mudanças.
E tenho utilizado muito Groovy, alias, pra min Groovy/Grails tem um grande futuro!

Já uso o “Java 7” há um bom tempo. Se chama Groovy. :smiley:

A tal “decadência do Java (linguagem)” pelo que posso ver, é muito mais relacionada a hype do que a fatos concretos. O que vejo é o surgimento de algumas linguagens com features bem bacanas, como Groovy, Scala, Clojure, JRuby comparadas com a linguagem Java.

O que eu pergunto é: será que eu realmente quero todos estes recursos na linguagem Java? Será que é REALMENTE uma boa entupir a linguagem de features só pra satisfazer o desejo (na minha opinião infantil) de “também tenho”? Afinal de contas, você pode mesclar linguagens em um projeto. Eu por exemplo tenho mesclado muito Clojure com Java em algo no qual venho trabalhado recenemente, aproveitando assim o melhor de dois mundos.

Sinceramente não vejo necessidade de mais recursos no Java (linguagem) após a versão 5. Se for pra pedir novas possibilidades, que estas sejam incluidas na JVM, pois assim satisfaz uma gama BEM MAIOR de desenvolvedores.

Mas no frigir dos ovos, Java é como o C do século XXI. Seu valor é inegável - você tem de ser muito ingênuo para ignorar - e você não é obrigado a trabalhar com ela. Mas que o bom conhecimento vai te fornecer um fundamento muito melhor sobre a plataforma, ah, isto vai.

(aliás, se for pra de fato satisfazer o desejo de ter mais e mais features na linguagem, a única alternativa é ir pro Lisp e seus derivados, aonde o programador inclui o que deseja na linguagem, sem precisar ficar dependendo do implementador padrão)

Hmm… analizando melhor, pelo menos ainda teremos o InvokeDynamic e o NIO 2.

Prefiro o Plano B, tem aquele velho ditado popular, melhor um passaro na mão do que dois voando.

Sem dúvida esta demora irá alavancar o uso de outras linguagens que rodam na JVM, o que de fato ja esta acontecendo, e a tendencia é só aumentar.

Eu estou apostando em Scala, por isto ja comecei meus estudos na linguagem.

[quote=Marky.Vasconcelos]Vish… realmente, esta demorando bastante, isso me desanima um pouco, por que mesmo que saisse esse ano, imagina quanto tempo demoraria para as empresas adotarem o Java 7?

Agora para 2012? Até lá, acredito que varios já deixaram de programar em Java para uma linguagem mais dinamica (Mesmo se for uma que rode na JVM).

Eu já testei JRuby com Swing, e não gostei muito não, programar ficou mais facil só que tem uns bugs estranhos que me fizeram desistir de continuar.[/quote]

Que tal clojure:

First Steps With Clojure & Swing

[quote=fredferrao]Sem dúvida esta demora irá alavancar o uso de outras linguagens que rodam na JVM, o que de fato ja esta acontecendo, e a tendencia é só aumentar.

Eu estou apostando em Scala, por isto ja comecei meus estudos na linguagem.[/quote]

ehheh !!! Scala é a linguagem Java hoje na sua realidade , as transformações da linguagem java para 7 vai longe e sem mais o sentindo ao uso de querer controlar o que se pode entender ou aceitar como Plataforma , acredito que cross-plataforma é a maior realidade hoje com as expansões de outras Vms que derivam ou concorrem sobre a JVM.