Pergunta

O que você acha? A JVM receberá suporte para genéricos?

Muito provavelmente exigiria alterações substanciais na JVM, mas também para o formato de arquivo de classe, Mas línguas que funcionam na VM se beneficiaria muito disso.

edição: A linguagem Java realmente suporta algum tipo de genéricos como um recurso de tempo de compilação, que adiciona algumas lançadas ao bytecode, que as pessoas tiveram que adicionar manualmente antes.

A decisão de não introduzir alterações na JVM ou a especificação do arquivo de classe foi bem compreendida nesses momentos, porque eles não queriam quebrar a compatibilidade com o atraso e o Java foi a única linguagem significativa para a JVM nos dias de hoje. .

Embora esta decisão tenha sido apropriada para a linguagem Java, reduziu significativamente a quantidade de liberdade que outras linguagens precisam escolher como elas querem implementar os genéricos na VM.

Considerando que o Sol / Oracle proclamou fazer a JVM um lugar mais amigável para idiomas alternativos, eles realmente farão o que prometeram ou consideram que a baixa adição de custo de "invocamedynamic" é suficiente?

Foi útil?

Solução

Na minha opinião, é improvável.

seria simplesmente perturbador demais para aplicar essas alterações na linguagem Java. A compatibilidade com lingüística e tempo de execução com dois modelos diferentes de genéricos seria um pesadelo para os designers.

e sem java para conduzir mudanças para a JVM, é difícil ver como a Oracle poderia justificar fazer o trabalho necessário.

As únicas possibilidades que vejo são:

  • Oracle decide desenvolver uma linguagem sucessora para Java (que não é compatível com os genéricos, os fechamentos e um monte de coisas melhores. Que seria uma decisão de negócios realmente corajosa, e eu não acho que a Oracle é capaz de fazê-lo.

  • Um monte de outras pessoas / empresas recebe junto e garfo a especificação JVM e a faixa de código. Isso também é um movimento corajoso para fazer.

Eu não acho que é provável que o Oracle recursos uma mudança importante para a JVM apenas para apoiar os idiomas que eles não tinham interesse comercial. Estamos falando daqui oracle ... onde os tipos de negócios têm um maior desempenho controle sobre o que os tipos de engenharia chegam a fazer do que nos dias de sol moribundos. (Ei ... Poderíamos começar um tema de Jack Vance aqui: -)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top