BT

A retrocompatibilidade Java

por Pedro Mariano em 30 Mar 2010 |

Após o anúncio da versão 7 do Java muito se comentou sobre a falta de features inovadoras e que provavelmente, por conta disso, o Java poderia ficar atrasado se comparado com outras linguagens. O excesso de retrocompatibilidade é apontada por muitos como um limitante crítico e um fator que pode levar a linguagem a uma estagnação precoce.

Em seu blog, Guilherme Silveira postou sobre os problemas que o Java poderia enfrentar por conta da compatibilidade excessiva, ele diz:

O que acontece se uma linguagem fica muito preocupada com a compatibilidade? Ela irá evoluir tão lentamente que outras linguagens terão a chance de superar ela. Esse é o perigo que a própria linguagem enfrenta. Java pode não perder sua posição porém cada vez mais veremos pessoas reclamando sobre as alterações que poderiam ser feitas na linguagem- mas não são.. por que preservar a compatibilidade tem sido o problema principal.

Um tópico no GUJ discutiu sobre a não inclusão de closures na nova versão, um fator apontado para a não implementação foi a retrocompatibilidade. Sobre a compatibilidade retroativa, nesse mesmo tópico, Luis Aguiar diz:

Não sei se o Java vai aguentar por muito tempo não quebrar essas compatibilidade, a linguagem já esta perdendo espaço para outras mais modernas, a ideia  de fazer "gambiarras" só pra poder manter a compatibilidade com coisas com mais de 10 anos não me agrada, sei lá, talves comercialmente seja bom, mas em termos de "uso" acho que Java esta se afundando, falo isso pelo crescimento acelerado em projetos Ruby/Python nos último anos, e não vejo nenhum movimento de mercado que isso vá diminuir.

Uma forma de resolver esse problema seria criar um fork para uma nova versão, esta não compatível com anteriores, onde seriam incluidas todas as novas funcionalidades sem se preocupar com versões antigas. Porém algumas pessoas discordam dizendo que a preocupação agora não é mais que a linguagem Java evolua e sim a plataforma, e que novas linguagens, sejam desenvolvidas para essa plataforma.

É evidente que a linguagem ainda tem um nome no mercado e que a nova versão irá agregar algumas funcionalidades, mais será que Java não poderia estar muito mais evoluída do que hoje? Quem sabe com isso uniriamos uma VM extremamente madura com uma linguagem evoluída o suficiente e com o nome no mercado.

E você leitor, acha que a retrocompatibilidade está atrapalhando a evolução da linguagem? E o que poderia ser feito para resolver esse problema? Um fork dá linguagem seria uma boa solução?

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

duas formas... by Diego Dias

seria possível implementar das duas formas? Se sim, acho que esta seria a saída! Para quem precisa de compatibilidade usaria a versão com retrocompatibilidade, e para quem quer ter uma linguagem evoluída usaria a com mais performance.

Linguagens na JVM by Saulo Arruda

De fato a linguagem Java já pode ser considerada obsoleta, e a API Java nunca foi a maior maravilha do mundo. Mas a Java Virtual Machine é de fato o maior trunfo, devido a possibilidade de usar várias linguagens sobre a JVM você pode escolher qual mais te agrada. E melhor, com interoperabilidade garantida com EJBs, Frameworks, código legado escrito na linguagem Java e também em outras linguagens, sem abrir mão de performance e escalabilidade.

A retrocompatibilidade Java by Rafael Marques

de fato acho que java está ficando "atrasado". Ninguém pode negar que é uma grande linguagem, mas um fato interessante na minha opinião é a quantidade de programadores java entusiastas de outras linguagens como ruby ou python, etc.
Vamos ver o que vai dar...

atrazo by Cézar Augusto Ferreira

Bom, sinceramente acho que a versão 7 do Java adicionará características interessantes mas, que, não causará um avanço significativo da linguagem e da plataforma em geral. Muitas outras linguagens estão crescendo rapidamente, como citado no texto, e seria um descuido a tecnologia Java perder espaço no mercado por querer manter a compatibilidade retroativa e não adicionar muitas características invadoras. Com certeza um fork seria uma boa solução.

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

4 Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT