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.
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.
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.
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 deList 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.
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)
[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]
[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.