15

現時点では、ScalaはJVMでのみ実行され、CLRの実装は古くなっています。

しかし、現時点では、Microsoftが.NET用の最新のScalaポートへの資金提供に関心を持っているという意見がいくつかあります。

Oracle側でJava/JVM /エコシステムをどうするかについての計画や監視がないことを考えると、Scala開発者は、最終的にScalaを実行するための適切なプラットフォームが残っていない可能性があることをどのように準備できますか?

将来、Scala VMの「独立した」実装を行う計画はありますか。これにより、現在のVM実装(ジェネリック、共変配列なし、奇妙な注釈、テールコールなしなど)?

4

3 に答える 3

18

VMに関する別のビューは次のとおりです。

全体像を見ると、Sunの最も明るい瞬間ではありませんが、JDK /関連のものにGPLライセンスを平手打ちすることは、JVMプラットフォーム全体がOracleから完全に独立しているというこの素晴らしい状況を実際に引き起こしました。つまり、仮想マシンはJavaに関連付けられておらず、ガベージコレクターはJavaに関連付けられておらず、最も重要なのは、Javaプログラマーが実際にはJava、つまりOracleに関連付けられていないことです。

Javaプログラマーとして、私たちは勝ったと思います。オラクルがより大きな利益を期待してJavaの世界のすべてを廃止することを決定した場合、VMとScalaなどの現代語を入手して、ラリー・エリソンをヨットで日没まで航海させることができます。私たちが気にするすべてのために。

于 2010-07-08T18:08:28.800 に答える
10

Scalaの現在の実装は、JVMに非常に重点を置いています。Scalaライブラリの多くはJava標準ライブラリのクラスに依存しており、Javaクラスもユーザープログラムに公開されています。

CLRやLLVMなどの他のプラットフォームでScala実装が行われる場合、現在のJava指向のScala実装用に作成されたプログラムは、他の実装と自動的に互換性がありません(これらの実装がクラスをサポートするために非常に長い時間を費やさない限り) Javaで利用可能)。

私は、JVMがすぐになくなることはないというRandallに同意します。これはおそらく最も成功し、普及している仮想マシンプラットフォームであり、スマートカードやハンドヘルドデバイスから最大のサーバーまで、数十億のデバイスに展開されています。実際、Javaプログラミング言語はJVM自体よりもはるかに早く消える可能性があります。近い将来、JVMがなくなることを恐れる理由はありません。

そして、それが起こるというありそうもない場合でさえ-それは本当に重要ですか?他のプラットフォームの1つで、お気に入りのプログラミング言語Scalaでプログラミングすることもできます。

于 2010-07-08T18:02:59.327 に答える
5

Eskoが言ったように、Oracleの管理ミスによるJVMの死についてはあまり心配していません。

今のところ、私は別の方法でJVMについて心配しています。JVMは複数の言語のプラットフォームとして構築されていませんでした。JVMで実行されているほとんどの言語は動的型付けを使用しており、バイトコードへのコンパイルの複雑さから解放されています。

Scalaはバイトコードにコンパイルされており、Javaコンパイラー(1.1-1.4)を書いた人(Odersky)によってJVMを念頭に置いて構築されました。Scalaは、JVMに精通している人が書いた唯一の言語であり、彼がそれを行うのがどれほど大変だったかはわかりません。

そもそも多言語プラットフォームではないため、JVMの人気がやがて低下するのではないかと心配しています。

于 2010-07-08T21:41:42.037 に答える