web-dev-qa-db-ja.com

Javaが選ばれたのはなぜですか?

なぜJava AndroidではなくC++のようなものが選択されたのですか?Javaはかなり多くのメモリを使用するため、メモリ使用量が少ないと推測しますモバイルデバイスではC++のような言語の代わりにJavaを使用することの利点はありますか?

46
cgt

これは 記事 が状況に光を当てています。その記事内の最も適切なリンクは this です。つまり、言語を知っている多くのプログラマーがいる大規模なインストールベースがあり、それは大学で広く教えられています。 C++が私の学校のカリキュラムから削除されました、Javaはまだここにあります。JavaはJava MEは大規模なインストールベース他の携帯電話で。今、私のポケットにあるPantec Easeには、画面の隅に小さなコーヒーカップが入っています。

Stack Overflowの answer は、かなりうまくカバーしています。

SO回答の要約:

Javaは既知の言語であり、開発者はそれを知っており、習得する必要はありません

Javaを使用すると、c、c ++コードを使用するよりも、ポインタ演算がないため、自分を撃つことが難しくなります。

それはvmで実行されるので、そこにあるすべての電話のために再コンパイルする必要がなく、簡単に保護できます

Java(最初を参照)用の多数の開発ツール

いくつかの携帯電話はすでに使用されていますJava私なので、Javaは業界で知られていました

速度の違いは、ほとんどのアプリケーションにとって問題ではありません。アセンブリでコーディングする必要がある場合

40
World Engineer

GoogleがJava親しみやすさのために、他に何もない場合に選択するという推測を危険にさらします。多くのGoogleのプロジェクトは、少なくともJava回路図(GWTなど) )。

さらに、それは専門学校で広く教えられている言語です(たとえば、Javascript(これはAndroidも熱心にサポートしています)とは異なります)。パフォーマンスと生産の点で、Javaは確かにモバイルデバイスに最適な言語ではありません、それはよく知られています。

また、Androidはパーティーの後半に登場しました。開発者に低レベルのコンパイル言語であるC++を使用するように強制すると、「すごい」要素を生成することが難しくなり、それ以外の場合は、Android必要な数(アプリの数)と派手さが必要です。

19
Jeffrey Sweeney

正確にJavaが選ばれた理由はわかりませんが、それはおそらくいくつかの理由によるものでした

  1. Javaに精通しており、Javaを使用している開発者の大規模なグループをキャプチャするには

  2. Java J2MEのようなテクノロジーの場合、Javaが不足している場合に、モバイルのギャップを埋めます。

次に、Java Android用に指定された仮想マシンはありません。代わりに、すべてのJavaコードは Dalvik で実行するためにコンパイルされます。軽量で最適化されたVMモバイル環境での実行用に特別に設計されています。バッテリーの寿命を延ばし、リソースの効率的な使用を最大化するとされています。

9
maple_shaft