「Green Project」から始まった歴史を振り返る
「Java」が「Windows」でも「macOS」でも動く“歴史的理由”と“技術的理由”
「Java」プログラムはOSに関係なく動作する。開発元のSun Microsystemsは何を意図して、Javaをこうした設計のプログラミング言語にしたのか。その理由と仕組みを解説する。
プログラミング言語および開発・実行環境「Java」のプログラムは、なぜどのOSでも実行できるのか。その問いをさらに分類すると、次の2つに分けることができる。
- 開発元のSun Microsystemsは、なぜJavaを「クロスプラットフォーム」(OS非依存)にしたのか
- Javaはどのようにクロスプラットフォームを実現しているのか
以下で、この2つの問いに対する答えを見ていこう。
なぜSunはJavaをWindowsでもmacOSでも動くようにしたのか
併せて読みたいお薦め記事
さまざまなプログラミング言語
- 終わりに向かう旧「Visual Basic」がいまだに人気の“謎”
- プログラミング言語「Erlang」が熱心なファンを持つのに不人気な“あの理由”
- 人気だった「Perl」「Objective-C」が“嫌われ言語”になった悲哀
Javaエンジニアが次に習得したいプログラミング言語
まずJavaがクロスプラットフォームになった歴史を説明する。1990年代、Sunはコンピュータ市場の大手ベンダーだった。Sunは事業を拡大させ、
- Trancept Systems
- Praxsys Technologies
- Cray Business Systems Division(Silicon Graphicsの一部門)
など複数の競合を買収した。Sunは多種多様なコンピュータアーキテクチャを取得した結果、さまざまなOSでさまざまな動作をするさまざまなプログラミング言語を扱うことになった。その後Sun自体も2010年にOracleに買収された。
こうした複雑な状況を解決するために、SunはさまざまなOSとさまざまなコンピュータアーキテクチャで動作する単一のプログラミング言語の開発に投資した。同社はこの開発プロジェクトを「Green Project」と名付けた。Green Projectから誕生したAPI(アプリケーションプログラミングインタフェース)「Oak」を経て、クロスプラットフォームのJavaになった。
Green Projectとして進められたJavaは、クロスプラットフォームから広がってセットトップボックス(一般的なテレビでケーブルテレビや衛星放送などを受信するための装置)分野に進みかけた。だが最終的には、インターネットを介して接続するコンピュータ向けのクロスプラットフォームを実現する方向へ進んだ。
どのようにクロスプラットフォームを実現しているのか
「C++」や「Visual Basic」などのプログラミング言語は、ソースコードを特定のOSやハードウェアアーキテクチャ専用の実行可能ファイルにコンパイル(変換)する。例えば「macOS」で動くプログラムの大半は「Windows」では動作しない。
Javaのソースコードのコンパイルは、機械語(コンピュータが直接解釈、実行できる言語)のプログラムを直接生成せず、代わりに「バイトコード」を生成する。バイトコードは特定のOSに依存しないプログラムだ。Javaのバイトコードを実行するコンピュータには「Java仮想マシン」(JVM)をインストールする必要がある。JVMはJavaプログラム実行時にバイトコードを解釈し、実行するコンピュータが解釈できる機械語に変換する。
JVM自体はクロスプラットフォームではない。JavaプログラムをOSに依存しないようにするには、そのOSとコンピュータアーキテクチャ専用に設計、構築したJVMが必要だ。JVMの必要性は広く認められており、現代の主要OSは何らかのJVMを利用できる。これによりJavaはキャッチフレーズ通り「Write once, run anywhere」(一度書けばどこででも実行できる)プログラミング言語を実現している。
TechTarget発 先取りITトレンド
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
TechTarget発 先取りITトレンド
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[株式会社インターネットイニシアティブ] 人材不足と属人化が深刻に 「攻められない情シス」を変革する一手とは? -
製品資料
[株式会社イトーキ] 会議室が「空いてるのに使えない」問題の解決策とは? -
事例
[株式会社イトーキ] 製造現場を取り巻く経営課題 「持続的な現場力」を強化する方法とは? -
製品資料
[株式会社イトーキ] 社員の力を引き出す、「ABW(Activity Based Working)」を実現する秘訣とは? -
製品資料
[株式会社BREXA Technology] 「インシデント初動対応」が遅れる3つの構造的要因とは?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
企業が「Microsoft Azure」を選ばざるを得ない理由
-
2
Microsoft 365侵害企業の9割はMFA導入済み 1002人調査で見えた盲点
-
3
なぜノートPCの更新が「4年→6年」に? AIインフラ急拡大の余波
-
4
「リモートアクセスセキュリティ」に成功する企業、そうでない企業の違い
-
5
無課金から要課金まで AIの基本や応用がマスターできる“学習コース”9選
-
6
「Active Directory」復旧で“詰む”企業が続出 ランサムウェアに備える4対策
-
7
NVIDIA、フアンCEO辞任で揺らぐ“AI帝国” IT調達計画への影響は?
-
8
「営業・マーケティングの悩みと企業データの活用」に関するアンケート
-
9
脱VMwareの真実:データセンター大手がNutanixを選んだ「コスト以上の理由」
-
10
なぜMicrosoftは「Rust」を標準言語に? AIで進むC/C++書き換えの課題
ホワイトペーパーランキング PR
-
1
「IT史に名を残すシステム障害」8選
-
2
AIが苦手な「汚いデータ」になっていない? AI投資を無駄にしないための注意点
-
3
急増する高度なフィッシング詐欺 先回りしてブロックするには何が必要?
-
4
法人向け光回線のプランはどう選ぶ? 機能面/保守体制/コストを一覧で比較
-
5
サイバー脅威「トップ50」完全解説ガイド、新たな攻撃手法に対抗するには
-
6
SNMPより詳細で、パケット解析より簡単な「トラフィック可視化・分析」の方法
-
7
三井ホームに学ぶ「無線LAN環境」構築 快適なオフィスと高度なIT運用の両立法
-
8
Microsoft 365のメールセキュリティ、3つの“死角”と追加で検討すべき対策とは
-
9
「RPA導入の成果が出ない」を防ぐ、成果につながる自動化対象業務の選び方
-
10
自社のメール環境は本当に安全? チェックシートですぐ分かる“今必要な対策”
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー