「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
-
製品レビュー
[ヴィーム・ソフトウェア株式会社] SCS評価制度を導入するだけで十分? 組織の防御力を高める活用方法とは -
技術文書・技術解説
[フォーティネットジャパン合同会社] AIランサムウェアに勝つ 自律型エンドポイント管理導入で確認すべき条件4つ -
技術文書・技術解説
[フォーティネットジャパン合同会社] LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント -
製品レビュー
[ネットアップ合同会社] 研究分野でAI活用が進まない? 真の成果につなげるデータ管理の在り方とは -
製品レビュー
[ヴィーム・ソフトウェア株式会社] SCS評価制度を導入するだけで十分? 組織の防御力を高める活用方法とは
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「ITインフラとデータ保護・バックアップ対策」に関するアンケート
-
2
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
3
VMware離れの決め手は“機能”以外だった 情シス109人が選んだ新基準と死角は
-
4
なぜ情シスは評価されにくい? 読者調査で見えた「成果が見えない仕事」第1位は
-
5
年収700万超エンジニアに共通するスキルと「もっと勉強すべきだった分野」
-
6
脱VMwareか、継続か? 仮想化ソフト主要6製品の機能とスペックを徹底比較
-
7
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
8
二極化する生成AI活用 「一部の社員しか使いこなせない」をどう解消すべきか
-
9
「企業におけるAIの運用」に関するアンケート
-
10
IBM iのブラックボックス化を打破 資産継承と進化を実現する「IBM Bob」の実力
ホワイトペーパーランキング PR
-
1
登録セキスぺが語る「SCS評価制度」の舞台裏 星を取得すべき理由と対応のコツ
-
2
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
3
OSSでは困難 100超のサービスを持つマネーフォワードが実践した統合監視術
-
4
「改正物流効率化法対策」徹底解説 総物流費を抑制するサプライチェーン戦略
-
5
月1000枚の紙を削減 9年動けなかった組織が、業務改革のその先に得たもの
-
6
ネットワーク遅延の原因、「パケットロス」の基礎知識と効果的な解決策
-
7
ドラマで分かる、標的型攻撃メールの被害を受ける企業と回避できる企業の分岐点
-
8
Windows PCとMacの選択制で生産性向上 LINEヤフーが実践する運用管理方法とは
-
9
「Google Workspace」活用事例34選、先進の生成AIによる組織変革の全貌
-
10
ソフトウェア開発の属人化と手戻りをどう防ぐ? 速さと品質を両立させる方法
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー