4

どう思いますか?JVMはジェネリックスのサポートを取得しますか?

JVMだけでなく、クラスファイル形式にも大幅な変更が必要になる可能性が非常に高いですが、VMで実行されている言語はJVMから大きな恩恵を受けるでしょう。

編集: Java言語は、実際にはコンパイル時の機能としてある種のジェネリックスをサポートしています。これにより、バイトコードにキャストが追加されます。これは、以前は手動で追加する必要がありました。

下位互換性を壊したくなく、Javaが最近のJVMの唯一の重要な言語であったため、JVMまたはクラスファイル仕様に変更を導入しないという決定は、これらの時点でよく理解されていました。

この決定はJava言語には適切だったかもしれませんが、他の言語がVMにジェネリックを実装する方法を選択する自由の量を大幅に減らしました。

Sun / OracleがJVMを代替言語にとってより親しみやすい場所にすることを宣言したことを考えると、彼らは実際に約束したことを実行するのでしょうか、それとも「InvokeDynamic」の低コストの追加で十分だと考えるのでしょうか。

4

1 に答える 1

5

私の意見では、それはありそうもないです。

これらの変更をJava言語に適用するには、混乱を招くだけです。ジェネリックの2つの異なるモデルとの言語およびランタイムの下位互換性は、設計者にとって悪夢です。

そして、JavaがJVMへの変更を推進しなければ、Oracleが必要な作業を行うことをどのように正当化できるか/正当化できるかを理解するのは困難です。

私が見る唯一の可能性は次のとおりです。

  • オラクルは、ジェネリックス、クロージャ、その他多くのことをより良く行うJavaの後継言語(下位互換性はありません)を開発することを決定しました。それは本当に勇敢なビジネス上の決定であり、オラクルがそれを行うことはできないと思います。

  • 他の多くの人々/企業が集まり、JVM仕様とコードベースをフォークします。それはまた、勇敢な行動です。

オラクルが商業的に関心のない言語をサポートするためだけにJVMに大きな変更を加える可能性は低いと思います。ここでは、オラクルについて話します。エンジニアリングタイプは、瀕死の太陽の時代よりもやることができます。(ねえ...ここからジャック・ヴァンスのテーマ全体を始めることができます:-)

于 2010-07-08T23:31:16.250 に答える