ここ数年、Javascript、Python、Rubyなどを含む多くのJVM言語があります(完全なリストはこちら:JVM言語のリスト)。私の質問はこれです:なぜSunはMicrosoftの.NETのようにJVM用の完全な言語スイートを出していないのですか?新しいバージョンのJVMを使用すると、動的言語または型システムに必要な調整を行い、少なくともいくつかの言語のコンパイラーをリリースできます。これにより、Javaの既存の大規模なクラスライブラリにすぐにアクセスできるようになります。
4 に答える
Sun(現在のOracle)は、より多くのJVM言語を作成するために、実際に多くのことを行う必要はありません。この役割は、主にオープンソースコミュニティやより広いJavaエコシステムによって担われているためです。
検討:
- Scala、Groovy、Clojureなどの最新の人気が高まっているオープンソースJVM言語
- すべてのJVM言語で使用できるApacheSoftwareFoundationなどの組織によって作成または後援されているライブラリ
- EclipseFoundationなどによるIDE/開発ツール
- IBM、Red Hat、GoogleなどのJavaの主要な企業支援者によって作成されたさまざまなツールとエンタープライズ製品...
- OpenJDKプロジェクトを通じたオープンソース製品としてのJava言語とプラットフォーム自体の開発
したがって、Javaは、単一の企業によって制御されるプラットフォームではなく、多くの参加者がいるオープンなエコシステムと考える方が適切です。
財務はそれをすべて言います:
MSFT - 時価総額 1730 億、純利益 170 億
JAVA - 時価総額 20 億、純利益 4 億
JVM 用の Visual Basic をお探しの場合は、残念ながらプロジェクトはキャンセルされました :-)
真剣に、長年 Java 言語だけに焦点を当ててきた Sun は現在、Jython と JRuby の両方の開発者を直接サポートしており、これらの言語をより適切にサポートするために JVM とその IDE を変更しています。Java 6 には、Rhino JavaScript ランタイムも含まれるようになりました。
これらの言語が Sun がゼロから開発した言語ではないことは間違いありません。それは良いことだと思います。Java エコシステムには、コミュニティや、IBM や Oracle などの Java に依存する他の多くの企業で起こっているイノベーションの長い歴史があります。
サポートするまったく新しい言語を作成することで、Sun がどのような問題を解決しようとしているのか、私にはよくわかりません。まったく新しい言語を使用することで JavaFX が最適に機能するかどうかさえ、私にはわかりません。MS が .NET で Visual Basic をサポートしなければならなかった理由は理解できますが、ありがたいことに、Sun はそうする必要はありません。
Sun は動的言語をサポートするように JVM を変更しますか (パフォーマンスを犠牲にして、一部の動的言語は現在の VM で既に動作していましたが、それは素晴らしいことです)。また、Sun が公式に他の言語を開発しない理由についても説明します。
彼らが最初のことをしてくれることを願っていますが、2番目の必要性はないと思います. スコットの答えはかなり良いです。それに加えて、Java はかなり前から存在していますが、Microsoft は CLR/.NET プラットフォームをすぐに開始しなければならなかったため、開発者を納得させるために最大限のものを提供する必要がありました...そして彼らはそれを買う余裕があります!
したがって、Sun が JVM の代替言語をプッシュする必要があるかどうかはわかりません。独立した開発者は、助けなしでそれを行うのに十分なほど精力的です。
さらに、JavaFX スクリプト言語はそのような言語 (つまり、JVM の公式言語) と見なすことができ、BeanShell が JSR に採用される可能性があるようです。