ジェームズ・ゴスリング:トースターのために作り、世界中に広まったもの
ジェームズ・ゴスリングは、インタラクティブテレビのセットトップボックスや家電製品向けのプログラミング言語を構築しようとしました。Javaは最終的に、世界のほとんどの銀行の背後にあるサーバー、数十億人のポケットにあるAndroid携帯、そして本来設計されていなかった無数の企業システムを動かすことになりました。これは、エンジニアが間違った問題をあまりにもうまく解決したため、その解決策が本来の目的を完全に超えてしまった事例です。
カルガリーからカーネギーメロンへ
ゴスリングは1955年5月19日、カナダのアルバータ州カルガリー近郊で生まれました。カルガリー大学で計算機科学の学士号を取得した後、カーネギーメロン大学に移り、1983年に計算機科学の修士号と博士号を取得しました。博士課程の学生時代から、彼はすでに他人が使用するインフラを構築していました。彼は、テキストエディタEmacsの初期の有力なバリエーションである「Gosling Emacs」を書き、16ウェイマルチプロセッサコンピュータ用のUnixバージョンを構築し、マルチコアハードウェアが主流の懸念事項になる何年も前に並列システムに取り組んでいました。
NeWSと選ばれなかった道
サン・マイクロシステムズの共同創設者アンディ・ベクトルシャイムは1984年にゴスリングを採用し、彼はその後26年間をそこで過ごしました。デビッド・ローゼンタールと共に開発した彼の最初の主要プロジェクトの一つが、NeWS(Network/Extensible Window System)でした。これは、ビットマップワークステーションディスプレイ向けの野心的なウィンドウシステムでした。NeWSは技術的に洗練されていましたが、サンがそれを自由に利用できるようにしないという決定を下したため、競合するX Window Systemが勝利することになりました。これは、技術的なメリットだけでなく、ライセンスやオープン性がシステムの存続を決定づけるという教訓となりました。これは、10年後のJavaで逆のパターンで繰り返されることになるパターンの初期の例でした。
グリーンプロジェクトとJavaの誕生
1991年6月、ゴスリングは同僚のマイク・シェリダンやパトリック・ノートンと共に、サン社内で「グリーンプロジェクト」と呼ばれる取り組みに参加しました。これは、セットトップボックス、テレビ、その他のデバイスなど、今後必要になるとサン社の幹部が信じていた家電製品向けのソフトウェアを設計する試みであり、時代を先取りした「デジタルコンバージェンス」のビジョンでした。この種の組み込みネットワークプログラミングにおけるC++の制限に不満を感じたゴスリングは、新しい言語を設計しました。当初はオフィス外の木にちなんで「Oak」と名付けられましたが、後にJavaと改名されました。彼はオリジナルのコンパイラと仮想マシンを構築しました。これは、コンパイルされたJavaバイトコードを全く異なるハードウェア上で同一に実行できるようにするソフトウェア層であり、Javaの決定的な約束である「一度書けば、どこでも実行できる(Write once, run anywhere)」の技術的基盤となりました。チームの最初の公開デモンストレーションは1992年9月2日に開催され、Java駆動のグラフィカルインターフェースを搭載したハンドヘルドタッチスクリーンメディアコントローラー「Star-7」が披露されました。これは、ターゲットとしていたインタラクティブテレビ市場が完全に実現しなかったにもかかわらず、スマートフォンを10年以上先取りしたデバイスでした。Javaは代わりに、爆発的に普及したワールドワイドウェブや企業サーバーで真の聴衆を見つけ、デスクトップコンピューティング、科学研究、企業システム、そして最終的にはAndroidのモバイルエコシステム全体で、世界で最も広く使用されているプログラミング言語となりました。
サン後の人生
ゴスリングは、2010年にオラクルによるサン・マイクロシステムズの買収が完了するまで、開発者製品グループの副社長兼最高技術責任者(CTO)などの役職を務め、サンで最も目立つ技術的人物として留まりました。彼はその年の4月にオラクルを退社し、「給与、地位、意思決定能力の低下、役割の変化、倫理的な課題」を理由に挙げました。これは、彼が作成した言語を現在管理している会社からの、明確な公の形での離脱でした。彼は2011年に短期間Googleに加わり、その後、ボーイングに買収された自律型海洋調査ロボットを構築するスタートアップであるLiquid Roboticsに移りました。2017年にはAmazon Web ServicesにDistinguished Engineerとして加わり、2024年に退職するまでその役割を務めました。
オラクル対Googleと複雑な忠誠心
ゴスリングのキャリア後半で最も公に議論された発言は、GoogleによるAndroidでのJava API構造の使用が著作権侵害にあたるかどうかをめぐる、歴史的なオラクル対Google訴訟に関するものでした。オラクルからの自身の苦い離脱にもかかわらず、ゴスリングは「オラクルとは意見の相違があるが、この件に関しては彼らが正しい。Googleはサンを完全に騙した」と書き、敵対的な条件で去った後でも、自分が構築した言語と会社に対する驚くべき忠誠心を示しました。それにもかかわらず、彼は後に、APIは著作権で保護されるべきではないという最高裁の最終判決を支持すると述べました。これは、個人的な不満と技術的・法的原則を切り離すという彼の本能を捉えたニュアンスでした。
受賞歴
ゴスリングは2002年にエコノミスト・イノベーション・アワードと、通称「フレイム・アワード」として知られるUSENIX生涯功労賞を受賞しました。2004年にはJavaのアーキテクチャとウィンドウシステムへの貢献により全米技術アカデミーの会員に選出され、2007年にはカナダで2番目に高い民間勲章であるカナダ勲章のオフィサーに任命されました。2013年にはACMフェローとなり、2015年にはIEEEジョン・フォン・ノイマン・メダルを受賞し、2019年にはコンピュータ歴史博物館のフェローに指名されました。
ジェームズが天才と呼ばれる理由
ゴスリングの天才性を裏付ける最も強力な主張はアーキテクチャに関するものです。1991年にセットトップボックス向けに構築された言語が、わずかな修正だけで10年後に企業銀行システム、Android携帯、Webサーバーの基盤となり、サン社の誰も予想していなかったプロセッサアーキテクチャ上で変更なしに実行できるほど堅牢な仮想マシンとバイトコード形式を設計したことです。これは、特定の証明可能な先見性の形であり、本来の目的を生き延びるのに十分一般的な抽象化レベルを構築することです。しかし、彼自身のリーダーシップに関する説明は、孤独な天才という神話を打ち砕くものです。彼は、優れたエンジニアリングの仕事の真の報酬は「決して理解できない」ことであり、仕事とは主に「良い人々に資金を与え、良いことをするように伝えること」であると述べており、Javaの成功をグリーンプロジェクトが結集したチームの功績とし、彼自身の単一の洞察によるものではないとしています。正直な反論としては、Javaの構文はCやC++から大きく借用しており、「一度書けば、どこでも実行できる」という約束は信頼性を持って機能するまでに何年も苦痛な洗練を必要とし、ゴスリングは唯一の著者ではなく、不可欠な建築家の一人であったというものです。彼の天才性は、もしその言葉が当てはまるなら、単一の独創性の閃きではなく、システム設計と耐久性にありました。
遺産
グリーンプロジェクトが終了してから数十年経った今でも、Javaはこれまでに構築された中で最も重要なソフトウェアインフラの一つであり続けており、新しいプログラマーを育成し、ゴスリングの元のチームがターゲットにすることを想像もしなかったシステムを動かしています。市場に到達しなかったプロジェクトが、本来仕えるはずのなかった市場にとって不可欠なものになるのを見たエンジニアはほとんどいません。



