A evolução (ou não) do Java

Java precisa de propriedades, e não que nem aquela coisa do C#, mas assim como no Objective C onde você pode especificar se é atomic, weak, readonly, etc. Uma sintaxe de objeto.propriedade ao invés de métodos também seria ótimo.

Java parou no tempo mesmo.

Uma das coisas que notei é que em Objective C eles vivem incrementando a linguagem. De alguns anos para cá é possível por exemplo especificar mapas e listas assim como em JSON. E por aí vai. A Oracle parece que congelou o desenvolvimento do Java.

Fora que a JDK é uma desgraça. Tinham que ter um Core Java, só com java.lang e outras coisas básicas e jogar tudo o que for UI, XML, etc fora para pacotes separados. Aquele javadoc dá até desgosto de tanto entulho.

Infelizmente o mercado impõe Java, se tivesse escolha trabalharia com outra coisa. E C# também não é muito melhor não, pois ainda é uma linguagem estática.

E qual o problema em ser uma linguagem estática?

Longino desenvolva mais seu raciocínio, eu acho que Java é uma das linguagens mais completas e robustas existentes e além de tudo é opensource e multiplataforma, possibilitando termos um controle maior sob a linguagem, não usando de forma restrita, também podendo-se criar frameworks e etc…

A nível de linguagem, Java está longe de ser uma das mais completas, pelo menos em termos de recursos. Open source e multiplataforma tem muitas outras linguagens que são. O que você quer dizer com uso restrito? Frameworks tem pra tudo que é linguagem.

[quote=Longino]Java precisa de propriedades, e não que nem aquela coisa do C#, mas assim como no Objective C onde você pode especificar se é atomic, weak, readonly, etc. Uma sintaxe de objeto.propriedade ao invés de métodos também seria ótimo.

Java parou no tempo mesmo.

Uma das coisas que notei é que em Objective C eles vivem incrementando a linguagem. De alguns anos para cá é possível por exemplo especificar mapas e listas assim como em JSON. E por aí vai. A Oracle parece que congelou o desenvolvimento do Java.

Fora que a JDK é uma desgraça. Tinham que ter um Core Java, só com java.lang e outras coisas básicas e jogar tudo o que for UI, XML, etc fora para pacotes separados. Aquele javadoc dá até desgosto de tanto entulho.

Infelizmente o mercado impõe Java, se tivesse escolha trabalharia com outra coisa. E C# também não é muito melhor não, pois ainda é uma linguagem estática.[/quote]

Longino, a essa altura você já devia saber que o desenvolvimento do Java depende muito mais do JCP do que da Oracle. Sem consenso da comunidade, as especificações não andam. Assim, dado o tamanho da comunidade Java e a convergência de interesses, fica difícil encontrar tais consensos. Em contrapartida, Objective-C só começou a ter alguma relevância porque foi adotada nas plataformas Apple, porque até então ninguém ouvia falar. Procurando no Google, não encontrei nada sobre algum comitê de padronização ou algo do tipo. Sendo assim, imagino que quem deve estar tocando o barco deve ser a própria Apple, de forma que ela possa evoluir a linguagem da maneira que ela bem entende.

Mudar uma linguagem nova que começou a ser utilizada por um número maior de pessoas há pouco tempo é uma coisa. Mudar uma linguagem que já é utilizada há muito tempo por um número muito maior de pessoas é totalmente diferente, além do mais quando eles não pensam em quebrar a compatibilidade com o código existente, como no caso do java.
Agora que estou utilizando o python 3, por exemplo, vejo que eles melhoraram várias coisas em relação ao python 2.7 que eu utilizava antes, porém alguns programas que eu escrevi na versão 2.7 e tento rodar na 3 não funcionam porque eles tiveram que quebrar a compatibilidade com códigos anteriores à versão 3 para poder implementar algumas melhorias na linguagem.

[quote=rogeriopaguilar]Mudar uma linguagem nova que começou a ser utilizada por um número maior de pessoas há pouco tempo é uma coisa. Mudar uma linguagem que já é utilizada há muito tempo por um número muito maior de pessoas é totalmente diferente, além do mais quando eles não pensam em quebrar a compatibilidade com o código existente, como no caso do java.
Agora que estou utilizando o python 3, por exemplo, vejo que eles melhoraram várias coisas em relação ao python 2.7 que eu utilizava antes, porém alguns programas que eu escrevi na versão 2.7 e tento rodar na 3 não funcionam porque eles tiveram que quebrar a compatibilidade com códigos anteriores à versão 3 para poder implementar algumas melhorias na linguagem.[/quote]

Na verdade a Objective-C é até mais antiga que Java, o problema é que ela só começou a ganhar relevância porque foi adotada nas plataformas da Apple. E quando falamos em Apple, falamos em plataformas fechadas. Sendo assim, acho que dificilmente a Apple vai abandonar uma linguagem que é praticamente proprietária e que ela possa evoluir de acordo com seu próprio interesse e adotar uma linguagem aberta cuja evolução dependa de comitês e burocracia.

Por favor, o que você considera uma linguagem completa? E qual linguagem você acha que se encaixa nisso?
Eu acho Java bem completa.

Tópico trancado.