Gostaria de propor esta discussão aqui no fórum, andei pensando sobre o assunto e acho que seria legal um tópico sobre isso para expandir os conhecimentos.
Quem sabe não sai uma idéia daqui direto para a JCP?
PS: Para aqueles que não tiverem interesse em participar positivamente, por favor apenas desconsiderem o tópico.
Falta uma faxina das boas, e adicionar suporte a tudo que precisar pra rodar Erlang na JVM.
Vejo voces daqui uns 40 anos. :mrgreen:
Fabio_Kung
Infectado pelo Louds? (ou será o contrário?)
cv1
Mais ou menos - eu ainda vi Erlang primeiro :mrgreen:
fabiel
bom se tivesse ponteiros como no c++
cv1
Em nome de tudo que eh mais sagrado e honesto nesse mundo, pra que caralhos vc quer ponteiros?!
peczenyj
Em nome de tudo que eh mais sagrado e honesto nesse mundo, pra que caralhos vc quer ponteiros?!
Pra usar com malloc e free
KWill
Falta uma implementação de zlib decente, pois é triste ter que usar a biblioteca não-oficial jzlib no lugar do pacote java.util.zip, que deveria prover todas as funcionalidades da popular biblioteca zlib.
Inté.
F
flaleite
Em nome de tudo que eh mais sagrado e honesto nesse mundo, pra que caralhos vc quer ponteiros?!
Pra usar com malloc e free
Deve ser saudade dos Access violations…
boaglio
Gostaria de ao atualizar um JDK eu baixar apenas um diff das versões e não baixar os 50mb tudo de novo…
KWill
Em nome de tudo que eh mais sagrado e honesto nesse mundo, pra que caralhos vc quer ponteiros?!
Pra usar com malloc e free
Hmmm, se Java fosse mais cagada-prone do que já é hoje, os desenvolvedores Java competentes seriam ainda mais valorizados?
goto seria legal para fazer altas manobras radicais ofuscadoras pelo código .
Inté.
maquiavelbona
KWill:
…
goto seria legal para fazer altas manobras radicais ofuscadoras pelo código .
Inté.
GoTo seria legal para se programar Java no melhor estilo Basic ou Cobol. Que saudade dos perform.
Até!
Luiz_Aguiar
Uma versão da runtime “lite”, pra facilitar a adesão pelos usuários, instalação do plugins pros browsers por exemplo, num sei se apenas tirando os @Deprecated resolveria.
giu
Uma boa faxina ia bem! Ter uma versão mais ‘moderna’, tipo remover compatibilidade com as versões 1.1~1.3. Até pq muitas coisas escritas nessas versões não funcionam direto no 1.5~1.6.
renatosilva
cv:
Falta uma faxina das boas, e adicionar suporte a tudo que precisar pra rodar Erlang na JVM.
Acho que não tem jeito não, é pegar o que ainda presta e mudar de casa rsss!
ViniGodoy
Melhorar a manipulação de datas (ainda bem que já tem JSR para isso), especialmente no calendário gregoriano, que é usado na maior parte do mundo;
Ter formas de se trabalhar com console (uma API para isso). Se suportar consoles remoto e de diferentes tipos de terminal, melhor ainda. Seria ótimo poder conectar a um terminal ASCII e mostrar coisas com cores, etc.
Eliminação de código gordo. Seria legal também se revisassem as classes para utilização de enums (como no caso do JOptionPane) ao invés daqueles int e public static final (nem que isso gerasse métodos deprecated por algumas versões). O mesmo vale para várias classes do Swing que aceitam Vectors ao invés de Lists(JComboBox, JListBox por exemplo);
Eliminar muitas das esquizofrenias da linguagem também seria legal. Há coisas simples (como setar um tamanho de um textfield) que são muito complexas de se fazer. Digo isso especialmente para coisas que já tem uma solução comum em outros ambientes ou para coisas que a Sun já publicou artigos explicando o “Java Way” de tão recorrentes que são.
(Nada contra o DocumentModel para o Swing no caso do JTextField, mas pelo menos ter um FixedLengthDocumentModel por default na API ajudaria muita gente a não replicar o código que está no artigo do GUJ).
O wait não deveria ser sujeito a spurious wakeups. Aliás, poderia somente em situações irrecuperáveis, que não precisassemos nos preocupar (como o cancelamento da aplicação pelo SO). Da forma como é implementado hoje, essa deve ser uma preocupação constante de quem programa em multi-threads. Mesmo as novas classes de lock não corrigem esse comportamento.
Uma IDE que implemente herança visual rápida e direta!
Piratear o conceito de componentes de algumas linguagens para turbinar o desenvolvimento visual.
Ser mais leve.
renatosilva
A quantidade de coisas que o Java precisa melhorar é diretamente proporcional ao quadrado do número de JSRs existentes no momento rsss…
Luca
Olá
Eu continuo com a mesma opinião de 5 anos atrás: falta no Java suporte mínimo a acesso aos periféricos.
Como eu já disse antes: ao invés de gastar tempo e dinheiro com J2EE que tem poucas coisas que prestem, a Sun deveria ter resolvido os problemas que dificultam o uso de Java para aplicações triviais que imprimem uma notinha fiscal.
As melhores coisas do Java são servlets, JMS e JMX. O resto do J2EE é quase desnecessário e geralmente há outras alternativas ou soluções melhores. Se eu mandasse na Sun minhas fichas iriam todas no avanço do JMX e eu ainda colocava alguns engenheiros ajudando no Esper.
A idéia de suporte ao erlang na JVM é muito boa mas tenho dúvidas se rodando intermediado pela JVM o erlang conseguiria ser tão concorrente. Com a palavra o Mestre Louds.
[]s
Luca
cv1
Foi por isso que eu terminei o post com “vejo voces daqui uns 40 anos”. Sem rever um monte de conceitos fundamentais da JVM, nao da pra dar suporte a processos leves como se tem em Erlang - e o lance todo de pattern matching (que eu ainda nao entendo direito ate hoje) pode se tornar uma complicacao grande, tambem.
ASOBrasil
Luca:
…
Como eu já disse antes: ao invés de gastar tempo e dinheiro com J2EE que tem poucas coisas que prestem, a Sun deveria ter resolvido os problemas que dificultam o uso de Java para aplicações triviais que imprimem uma notinha fiscal.
…
E o que você acha que dá mais dinheiro para eles, vender suporte para J2EE ou arrumar problemas triviais para imprimir notinha fiscal? Eu como empresa, gastaria meu tempo e dinheiro com o J2EE!
ASOBrasil
fmeyer
no ultimo ebisodio do javaposse eles comentaram as top 10 coisas ( mais um pouquinho ) de lixos que deveriam nao existir na jvm vale a pena dar uma olhada
Então vá programar em C#, que tem ponteiros de verdade (embora você tenha de usar uma palavra-chave “unsafe” para usá-los), e a palavra-chave “goto” funcionando direitinho. Cruz credo!
A propósito, normalmente em C#, quando você está querendo usar “unsafe” ou ponteiros há uma maneira mais simples, melhor e mais rápida para fazer a mesma coisa. Por exemplo, 85% dos casos em que se usa ponteiros em C++ é para passar um parâmetro por referência (em C++ você usaria & = referência e não * = ponteiro, mas por as pessoas não saberem usar &, usam * desnecessariamente. Nesses casos, em C# é para usar a palavra-chave ref.
usingSystem;classMyClass{publicstaticvoidMain(){TestClassObj=newTestClass();Obj.fun();}}classTestClass{publicunsafevoidfun(){int[]iArray=newint[10];// store value in arrayfor(intiIndex=0;iIndex<10;iIndex++){iArray[iIndex]=iIndex*iIndex;}// get value from arrayfixed(int*pInt=iArray)testFun(pInt);}publicunsafevoidtestFun(int*p_pInt){for(intiIndex=0;iIndex<10;iIndex++){Console.WriteLine(*(p_pInt+iIndex));}}}
R
rflprp
O que falta no java ?
Acho que mais pessoas do sexo feminino programando nessa linguagem
[]´s
G
Giuliano_Mega
Eu nem vou colocar o que acho que poderia ser mais consistente na API, porque a lista seria muito longa. Além do mais, tenho a séria impressão de que é praticamente impossível manter a consistência em uma API tão grande. Não tenho muita esperança de vê-la mais simples nos próximos releases, afinal de contas, a entropia tende a aumentar… :?
Dado o projeto em que estou trabalhando atualmente, acho que as três coisas que eu mais gostaria de ver na linguagem - aquelas que toda hora você pensa “hum, isso aqui seria beeem mais fácil se tivesse isto” - são:
Concordo com o Giuliano Mega no que diz respeito à consistência da API. É muito complicado manter um emaranhado tão grande de classes devidamente “normalizadas”. Talvez a solução fosse a Sun montar um projeto para revisar minuciosamente toda a API (aproveitando as prováveis novas features do Javadoc), de modo a modificar coisas já desnecessárias (como o caso do Vector/List citado por ViniGodoy), além de remover os métodos Deprecated (claro que versões compatíveis com a 1.1 têm de continuar a existir).
Uma pequena coisinha que eu acho que poderia ser implementada é um compensador de path (?!).
Acho meio “inflador” ter de especificar package’s absolutos em relação ao package atual. Exemplo:
O que acho desnecessário é eu ter de especificar todo o pacote no import, seria mais prático algo do tipo: se estou no pacote pack.sec, para importar uma classe do pacote pack.sec.tec, então eu usaria algo do tipo:
importthis.tec;
Onde o this seria substituído pelo meu pacote em tempo de compilação. Espero que alguém tenha me entendido oO.
nicoweda
Complementando,
Uma coisa que eu to loco pra ver no Java 7 eh a reitificacao de tipos genericos.
Atualmente, por motivos de compatibilidade com as versoes mais antigas que nao tinham suporte a Generics, a parametrizacao de objetos eh feita com erasure…
Outro assunto que eu achei bem interessante sao as closures… mas esse assunto eu deixo nas maos do Neal Gafter (http://gafter.blogspot.com/).