| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/01/2009 11:12:56
|
tnaires
GUJ Master
![[Avatar]](/images/avatar/5f6371c9126149517d9ba475def53139.png)
Membro desde: 22/12/2003 08:05:58
Mensagens: 1678
Localização: Porto Alegre/RS - Natal/RN
Offline
|
Notícia publicada no site da InfoQ:
http://www.infoq.com/news/2009/01/java7-updated
Novo roadmap da tecnologia Java 7 publicado, onde closures ficou de fora.
Será possível que, depois de tanta discussão e 3 protótipos, ainda não teremos esse recurso no Java 7?
|
Tarso Nunes Aires
Blog - http://cabritin.wordpress.com/
Delicious - http://delicious.com/tnaires
Twitter - @tnaires
 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/01/2009 11:55:05
|
gilmatryx
JavaChild
![[Avatar]](/images/avatar/5c10d595f3dfb3c6605a34f0c1a4c5b6.png)
Membro desde: 23/06/2007 23:00:38
Mensagens: 149
Localização: /Br/RN/Natal
Offline
|
É triste, espero que seja apenas uma forma de feedback retroativo volátil.
Será que esses "novos planos" têm alguma relação com a redução do quadro de funcionários, queda na bolsa, etc.. já anunciada da SUN?
Ou melhor, será que não tem alguma coisa haver com a "tão falada" crise?
|
Gilmar P.S.L. - @gilmatryx
Projeto JRimum
Grupo JRimum
Twitter @jrimum
Facebook JRimum |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/01/2009 11:56:55
|
victorwss
JWizard
![[Avatar]](/images/avatar/4ab232445f9b21b65dfdf6ea5f27f704.png)
Membro desde: 18/12/2007 14:46:00
Mensagens: 2409
Localização: São Paulo - SP
Offline
|
Closures e reificação (que são os mais importantes) acabaram de fora, uma pena.
Pelo menos o multi-catch e a inferência de generics nós teremos. Mas isso são coisas que na verdade só resolvem problemas menores que apenas incomodam um pouco e no fim não fazem muita falta. Closures e reificação eram a grande falta relativas a verdadeiras falhas na linguagem, que decerto vão fazer falta.
Edit: Se bem que o java atualmente já é uma colcha de retalhos e já tem uma estrutura bem inchada e torta por causa de problemas e gambiarras introduzidas em versões anteriores que não podem ser eliminadas por conta da retro-compatibilidade. E nesse aspecto, closures só iria piorar a situação.
This message was edited 1 time. Last update was at 07/01/2009 12:00:55
|
Victor Williams Stafusa da Silva
Bacharel em Ciência da Computação - UFMT // Especialista em Desenvolvimento Java - CEFET/MT // Doutorando em Ciência da Computação - IME-USP
SCJP 6.0 - 19/12/2007 - PASS - 88% // SCWCD 5 - 17/05/2008 - PASS - 79% // SCJA - 09/09/2008 - PASS - 96% // SCSNI - 30/06/2009 - PASS - 68% // SCBCD 5 - 31/05/2010 - PASS - 95%
Próximos: SCJD (encalhado com o projeto), SCEA parte I (estudando). Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.
Computação: uma ciência holística e esotérica!
E então veio Deus a terra e disse aos homens: Não dividireis por zero.
XML is a giant step in no direction at all. (Erik Naggum)
Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
Diga não as drogas: Não use java.util.Vector.
Cuidado: Este usuário pode ter temperamento agressivo.
Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
I am the maniac serial killer that knows where you live who will maintain your code.
É impossível falar de CMMI (Capability Maturity Model Integration) sem saber o que é CIMM (Capability Im-Maturity Model).
Se você escreve "concerteza", "concerteza" você andou matando aulas de português. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/01/2009 12:02:45
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Talvez closures só entrem com a alteração da JVM que dá suporte a method handles, muito necessária para linguagens que rodam na JVM que não são Java, tais como JRuby ou Scala.
A implementação da proposta BGGA de Closures do Neal Gafter (que usa a JVM padrão) ficou um pouco desajeitada sem esse novo recurso ("method handles"), que talvez entre no Java 8.
O Rémi Forax (method handles == closures ??) tentou usar method handles para implementar closures e aparentemente ficou bem mais claro e sem usar um monte de classes intermediárias, criadas pelo compilador.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/01/2009 13:20:36
|
mchiareli
JavaEvangelist
![[Avatar]](/images/avatar/03e4d3f831100d4355663f3d425d716b.png)
Membro desde: 04/04/2006 15:14:50
Mensagens: 397
Offline
|
victorwss wrote:Closures e reificação (que são os mais importantes) acabaram de fora, uma pena.
Pelo menos o multi-catch e a inferência de generics nós teremos. Mas isso são coisas que na verdade só resolvem problemas menores que apenas incomodam um pouco e no fim não fazem muita falta. Closures e reificação eram a grande falta relativas a verdadeiras falhas na linguagem, que decerto vão fazer falta.
Edit: Se bem que o java atualmente já é uma colcha de retalhos e já tem uma estrutura bem inchada e torta por causa de problemas e gambiarras introduzidas em versões anteriores que não podem ser eliminadas por conta da retro-compatibilidade. E nesse aspecto, closures só iria piorar a situação.
Acho que está na hora de quebrar algumas compatibilidades....
|
codifica.wordpress.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/01/2009 14:31:57
|
ignacio83
Java Ninja
![[Avatar]](/images/avatar/3d50a489984362c71713b9fd1cf79ef0.jpg)
Membro desde: 16/03/2007 10:46:06
Mensagens: 253
Localização: São Paulo
Offline
|
Sou contra quebrar a compatibilidade... Apesar de todos os problemas já citados. a retrocompatibilidade é uma das melhores coisas da linguagem, conseguimos utilizar sistemas em versões anteriores sem nenhuma modificação no código ou recompilação.
Muitas pessoas acreditam que a melhor saída para utilizar closures sem "quebrar" a linguagem seja a VM suportar mais de uma linguagem, acredito que essa seja a melhor saída...
|
André de Fontana Ignacio |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/01/2009 14:37:20
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Mas a sintaxe BGGA de closures é bastante desajeitada, justamente para não quebrar a compatibilidade (afinal de contas, foi designada pelos mesmos caras que inventaram o Generics do Java, um recurso que é desajeitado justamente para não quebrar a compatibilidade). Se quisessem quebrar compatibilidade a sintaxe de closures seria bem mais simples e as closures poderiam, entre outras coisas, eliminar uma boa parte das "anonymous classes" que são necessárias para implementar os famigerados "listeners".
O problema é que, justamente para não quebrar a compatibilidade, a implementação (e não somente a sintaxe) ficou bastante desajeitada.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/01/2009 14:38:43
|
rubinelli
JavaEvangelist
![[Avatar]](/images/avatar/5e15fb59326e7a9c3d6558ca74621683.jpg)
Membro desde: 26/04/2005 11:18:25
Mensagens: 469
Offline
|
Esses method handles são como os delegates de C#, um tipo de ponteiro de função?
O plano original era usar as versões ímpares para colocar recursos novos, e deixar as versões pares para deixar a poeira assentar, só adicionando bibliotecas e refinando a JVM. Isso já mudou, ou significa que uma possível implementação de closures não sai antes do Java 9?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/01/2009 14:44:59
|
mchiareli
JavaEvangelist
![[Avatar]](/images/avatar/03e4d3f831100d4355663f3d425d716b.png)
Membro desde: 04/04/2006 15:14:50
Mensagens: 397
Offline
|
ignacio83 wrote:Sou contra quebrar a compatibilidade... Apesar de todos os problemas já citados. a retrocompatibilidade é uma das melhores coisas da linguagem, conseguimos utilizar sistemas em versões anteriores sem nenhuma modificação no código ou recompilação.
Muitas pessoas acreditam que a melhor saída para utilizar closures sem "quebrar" a linguagem seja a VM suportar mais de uma linguagem, acredito que essa seja a melhor saída...
java 5 quebrou compatibilidade,
Sou a favor de manter a compatibilidade, mas chega uma hora que não da mais né.
|
codifica.wordpress.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/01/2009 14:49:21
|
lgi2020
Virtual Machine Man
![[Avatar]](/images/avatar/1ac978c8020be6d7212aa71d4f040fc3.jpg)
Membro desde: 19/07/2006 10:51:13
Mensagens: 550
Localização: Rio de Janeiro
Offline
|
Assim como a maioria aqui, adoraria ver a introdução de closures em Java... Contudo, uma das coisas que me fizeram amar Java desde os primórdios é justamente a "vilã" retro-compatibilidade. Sinceramente, não sei o que pensar. Java conseguiu muitos adeptos sem vários "recursos legais" como esse. Acredito que a quantidade de programadores diminuirá menos se a retro-compatibilidade for mantida. Eu poderia deixar Java ou passar a programas em outra linguagem (adicionalmente) para aproveitar estes "recursos legais". Mas a chance de eu abandonar a linguagem de vez não é grande. Agora, se implementarem os "recursos legais" e as minhas aplicações começarem a ter problemas para funcionar, posso acabar mudando de linguagem. Pelo simples fato de que, já que vou ter que mexer drásticamente na aplicação, posso querer aproveitar pra "mudar de ares" ou usar uma linguagem que se apresente melhor pro problema original... Enfim... Não acho que minhas justificativas estão muito boas e nem quero gerar discussões sobre elas... Quero apenas reforçar a importância da adição de funcionalidades como closures em Java sem que sejam quebrados os atuais benefícios da linguagem. Forte abraço a todos.
This message was edited 1 time. Last update was at 07/01/2009 15:05:08
|
Lennon Jesus | CSM | SCJP
http://twitter.com/LennonJesus
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/01/2009 14:59:45
|
marcelomartins
Moderador
![[Avatar]](/images/avatar/777669af68dbccabc30c3b6bcaa81825.jpg)
Membro desde: 07/01/2004 10:53:19
Mensagens: 1477
Localização: Porto Alegre - RS
Offline
|
lgi2020 wrote:Assim como a maioria aqui, adoraria ver a introdução de closures em Java...
Contudo, uma das coisas que me fizeram amar Java desde os primórdios é justamente a "vilã" retro-compatibilidade.
Sinceramente, não sei o que pensar.
Java conseguiu muitos adeptos sem vários "recursos legais" como esse.
Acredito que a quantidade de programadores diminuirá menos se a retro-compatibilidade for mantida.
Eu poderia deixar Java ou passar a programas em outra linguagem (adicionalmente) para aproveitar estes "recursos legais".
Mas abandonar a chance de eu abandonar a linguagem de vez não é grande.
Agora, se implementarem os "recursos legais" e as minhas aplicações começarem a ter problemas para funcionar, posso acabar mudando de linguagem.
Pelo simples fato de que, já que vou ter que mexer drásticamente na aplicação, posso querer aproveitar pra "mudar de ares" ou usar uma linguagem que se apresente melhor pro problema original...
Enfim... Não acho que minhas justificativas estão muito boas e nem quero gerar discussões sobre elas...
Quero apenas reforçar a importância da adição de funcionalidades como closures em Java sem que sejam quebrados os atuais benefícios da linguagem.
Forte abraço a todos.
Concordo 100%, é muito bom falar que o Java de 5 ou 6 anos atrás funciona bem até hoje, só que mais rápido.
Ao contrário de outras plataformas que a quebra de compatibilidade faz parte do negócio pra vender novos softwares.
This message was edited 1 time. Last update was at 07/01/2009 15:00:07
|
Marcelo Martins
http://twitter.com/marcelomartins
Tudo que hoje eu realmente preciso saber, aprendi no jardim da infância.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/01/2009 15:18:51
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
rubinelli wrote:Esses method handles são como os delegates de C#, um tipo de ponteiro de função?
O plano original era usar as versões ímpares para colocar recursos novos, e deixar as versões pares para deixar a poeira assentar, só adicionando bibliotecas e refinando a JVM. Isso já mudou, ou significa que uma possível implementação de closures não sai antes do Java 9?
Exatamente, e é por isso que o .NET (CLR) está um pouco adiantada em relação à JVM nesse aspecto (já que isso existe desde a versão 1 do Framework.) Mesmo assim, para suportar as novas linguagens do .NET Framework, está sendo modificada a CLR para ela ser mais dinâmica (procure por DLR).
O .NET Framework 3.5 tem verdadeiras "closures", no sentido que se dá à palavra. Isso não existia antes, mas não foi necessário implementar nenhum recurso "cabeludo" na CLR porque já existiam delegates desde o começo.
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/01/2009 15:28:46
|
lgi2020
Virtual Machine Man
![[Avatar]](/images/avatar/1ac978c8020be6d7212aa71d4f040fc3.jpg)
Membro desde: 19/07/2006 10:51:13
Mensagens: 550
Localização: Rio de Janeiro
Offline
|
thingol wrote:
rubinelli wrote:Esses method handles são como os delegates de C#, um tipo de ponteiro de função?
O plano original era usar as versões ímpares para colocar recursos novos, e deixar as versões pares para deixar a poeira assentar, só adicionando bibliotecas e refinando a JVM. Isso já mudou, ou significa que uma possível implementação de closures não sai antes do Java 9?
Exatamente, e é por isso que o .NET (CLR) está um pouco adiantada em relação à JVM nesse aspecto (já que isso existe desde a versão 1 do Framework.) Mesmo assim, para suportar as novas linguagens do .NET Framework, está sendo modificada a CLR para ela ser mais dinâmica (procure por DLR).
O .NET Framework 3.5 tem verdadeiras "closures", no sentido que se dá à palavra. Isso não existia antes, mas não foi necessário implementar nenhum recurso "cabeludo" na CLR porque já existiam delegates desde o começo.
Concordo com o fato de que, em alguns pontos, o .NET está mais adiantado.
Mas meu grande problema com o .NET, assim como quase tudo da Microsoft, é que se tiver que quebrar compatibilidade com tudo e todos eles vão lá e fazem.
Isso muitas vezes significa refactoring, novas IDE, novas bibliotecas... Nao no sentido de melhorar... Mas no de fazer funcionar, já que, na maioria das vezes, pára muita coisa.
Deixo apenas registrado que acho bom o .NET evoluir.
A concorrência gera aperfeiçoamento.
E espero que Java seja um dos concorrentes que consiga se aperfeiçoar e evoluir.
|
Lennon Jesus | CSM | SCJP
http://twitter.com/LennonJesus
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/01/2009 15:52:22
|
louds
Moderador
![[Avatar]](/images/avatar/1e48c4420b7073bc11916c6c1de226bb.jpg)
Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline
|
thingol wrote:
rubinelli wrote:Esses method handles são como os delegates de C#, um tipo de ponteiro de função?
O plano original era usar as versões ímpares para colocar recursos novos, e deixar as versões pares para deixar a poeira assentar, só adicionando bibliotecas e refinando a JVM. Isso já mudou, ou significa que uma possível implementação de closures não sai antes do Java 9?
Exatamente, e é por isso que o .NET (CLR) está um pouco adiantada em relação à JVM nesse aspecto (já que isso existe desde a versão 1 do Framework.) Mesmo assim, para suportar as novas linguagens do .NET Framework, está sendo modificada a CLR para ela ser mais dinâmica (procure por DLR).
O .NET Framework 3.5 tem verdadeiras "closures", no sentido que se dá à palavra. Isso não existia antes, mas não foi necessário implementar nenhum recurso "cabeludo" na CLR porque já existiam delegates desde o começo.
Pequena correção. A DLR não exige nenhuma modificação na CLR, é uma biblioteca sem nada de especial.
|
http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/01/2009 16:05:02
|
mcbarsotti
JavaEvangelist
![[Avatar]](/images/avatar/41d80bfc327ef980528426fc810a6d7a.jpg)
Membro desde: 11/05/2006 12:10:38
Mensagens: 329
Offline
|
thingol wrote:Talvez closures só entrem com a alteração da JVM que dá suporte a method handles, muito necessária para linguagens que rodam na JVM que não são Java, tais como JRuby ou Scala.
A implementação da proposta BGGA de Closures do Neal Gafter (que usa a JVM padrão) ficou um pouco desajeitada sem esse novo recurso ("method handles"), que talvez entre no Java 8.
O Rémi Forax ( method handles == closures ??) tentou usar method handles para implementar closures e aparentemente ficou bem mais claro e sem usar um monte de classes intermediárias, criadas pelo compilador.
Falou tudo...
é uma pena as closures não aparecer no roadmap... masss a esperança é a ultima que morre... :lol:
e outra, temos o Groovy!!!!!
abs
This message was edited 1 time. Last update was at 07/01/2009 16:05:23
|
|
|
 |
|
|