Domanda

Cosa ne pensi? Il JVM riceverà mai supporto per i generici?

Abbastanza probabile che non solo richiederebbe modifiche sostanziali al JVM, ma anche al formato del file di classe, Ma le lingue che corrono sulla VM ne trarrebbero notevolmente beneficio da esso.

Modifica: La lingua Java supporta effettivamente una sorta di generica come una funzione di tempo di compilazione, che aggiunge alcuni cast al bytecode, che le persone hanno dovuto aggiungere manualmente prima.

La decisione di non introdurre modifiche alla JVM o alle specifiche del file di classe era ben compreso in questi tempi, perché non volevano rompere la compatibilità all'indietro e Java era l'unica lingua significativa per il JVM in questi giorni. .

Mentre questa decisione potrebbe essere stata appropriata per il linguaggio Java, ha ridotto significativamente la quantità di libertà che altre lingue devono scegliere come vogliono implementare i generici sulla VM.

Considerando che il sole / Oracle ha proclamato per rendere il JVM un posto più amichevole per le lingue alternative, faranno effettivamente ciò che hanno promesso o considerare che l'aggiunta a basso costo di "Invokedynamic" è abbastanza?

È stato utile?

Soluzione

A mio parere è improbabile.

sarebbe semplicemente troppo distruttivo per applicare queste modifiche alla lingua Java. La compatibilità linguistica e di runtime all'indietro con due diversi modelli di generici sarebbe un incubo per i progettisti.

E senza, Java per guidare le modifiche al JVM, è difficile vedere come Oracle / potesse giustificare il funzionamento del lavoro richiesto.

Le uniche possibilità che vedo sono:

    .
  • Oracle decide di sviluppare un linguaggio successivo a Java (che non è compatibile con la fine) che fa i generici, le chiusure e un sacco di cose migliori. Questa sarebbe una decisione aziendale davvero coraggiosa, e non credo che Oracle sia capace di renderlo.

  • Un gruppo di altre persone / aziende si riuniscono e si riunisce le specifiche JVM e il codice CODEBASE. Questo è anche un passaggio coraggioso da fare.

Non penso che sia probabile che Oracle avrebbe risorsa un importante cambiamento al JVM solo per supportare le lingue di non avere alcun interesse commerciale. Stiamo parlando di qui Oracle ... dove i tipi di business hanno un aspetto molto più stretto Controllo su ciò che i tipi di ingegneria devono fare rispetto ai giorni di sole morenti. (Ehi ... potremmo iniziare un intero tema di Jack Vance andando qui: -)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top