10

Oracle が Dalvik VM をめぐって Google を訴えているため、Oracle からのライセンスがなければ Java VM を実装できないことが明らかになりました (編集: Matthew Flaschen は、Oracle の主張は有効ではない可能性があると指摘しています。脅威 VM 実装)。これは、Java のオープンソース実装 ( Apache Harmonyなど) の死となる可能性があります。

この訴訟の影響や正当性について議論したくありません。しかし、Java プログラマーとして、あらゆるケースに備えて、代替手段をより深く調べたいと思っています。コンパイラの作成は小さな問題だと考えているので、私の主な関心は、JVM と同様の目的を果たす代替の VM 実装です。

私が探している VM は、いくつかの条件を満たす必要があります。

  • 特許の問題がない
  • オープンソース実装が存在する
  • 最適化/良好なパフォーマンスの可能性
  • プラットフォームに依存しない (大きなハードルなしで、VM をさまざまなプラットフォームに移植できます)

いくつかの推奨事項を追加してください。

4

3 に答える 3

6

LLVMは最適化に優れた低レベルの仮想マシンです。C や C++ などの言語をサポートできますが、ガベージ コレクションなどの高レベル機能のサポートは組み込まれていません。

VMKitは、LLVM 上の Java および CLI 仮想マシンの実装です。Java バイトコードを使用しているため、これはおそらく特許の問題には役立たないでしょう。

HLVMは、LLVM の上に構築されたもう 1 つの興味深い高レベルの仮想マシンです。ほとんどの有名な特許を回避するのに十分なほど異なっている可能性がありますが、主に数値計算と関数型プログラミングを対象としています。

動的に型付けされる側には、Parrotがあります。

私は実際に、自分で設計した言語のコンパイラと VM に取り組んでいますが、それが完成するとは考えていません。;-)

ソフトウェアの大部分は多数の特許を侵害することに注意してください。重要なのは、それらがどれだけ知られているか (そして、特許の所有者がどれだけ積極的に侵害者を探しているか) です。もちろん、特許制度全体がばかげているので、やめた方がずっといいでしょう。

于 2010-08-30T13:42:14.350 に答える
4

特許の問題がない重要なソフトウェアはないと思います。

あなたが独立した開発者であるか、小さな会社で働いているなら、あなたはおそらく問題に直接打たれることはないでしょう。特許を保有している大企業が多くの小さな主張を追いかけることはありそうにない-それは費用のかかるプロセスであり、多くの憤慨を引き起こす。SCOはそのようなことを試みましたが、うまくいきませんでした。

私は、特許の問題についてあまり心配することなく、仕事に最適なツールを見つけることに集中します。そうしないと、何もできなくなります。

于 2010-08-30T13:33:28.330 に答える