ChromiumベースのブラウザBraveのCEOでJavaScriptの主要な設計者であるBrendan Eich氏が新たに発表した論文では、ウェブ、ブラウザ、そしてますます増えているモバイルおよびデスクトップのネイティブアプリ用の決定的なプログラミング言語の20年を振り返っています。
ウェブ向けに開発する人なら誰でも、Java、Pythonと並ぶトップ3のプログラミング言語の1つで、機械学習の台頭で人気が急上昇しているJavaScriptを知っているはずです。
FirefoxメーカーMozillaの共同創業者であるEich氏と、JavaScriptのECMAScript仕様の主要な著者である共著者のAllen Wirfs-Brock氏は、Microsoft、Mozilla、Netscape、Oracleの影響下で1995年からJavaScriptとWebの長く曲がりくねった歴史を詳細に述べています。
SEE: Virtual hiring tips for job seekers and recruiters (free PDF) (TechRepublic)
この論文は3月に完成し、今月号の Association of Computing Machinery (ACM) Journal に掲載され、JavaScript、C++、F#、Fortran、Objective-C、Clojureなどの主要プログラミング言語の回顧が行われている。
JavaScriptの進化に加え、この論文では、初期のWebの顔ぶれや、現在のChromiumが支配するWeb(MicrosoftのChromiumベースのEdgeまたは「Chredge」ブラウザを含む)に何がつながったのかを紹介しています。
この論文は、1995年にNetscapeに入社したEichの視点からのもので、Microsoftが同社に買収を申し出た直後でした。 彼はその後、JavaScript の前身である Mocha の Unix 版を作成しました。
この物語はまた、ウェブの「父」である Tim Berners-Lee、最初のブラウザ Mosaic を共同開発した Netscape 共同設立者の Marc Andreessen、Sun 共同設立者の Bill Joy、および Microsoft 共同設立者の Bill Gates からの情報についての彼の見解も紹介されています。
面白い事実として、JavaScriptの商標名はもともとSun Microsystemsによって登録されていましたが、今日では、2009年にSunを買収してJavaを与えたOracleの支配下にあります。
潜在的な商標問題は、Microsoft の広く使用されている TypeScript がサポートする JavaScript 標準 ECMAScript が「JavaScript」という用語を含んでいない理由にもなっています。
「この商標はもともと Sun Microsystems によって登録され、この論文の日付の時点では Oracle Corporation がその登録を所有しています。 この商標は Sun によって Netscape にライセンスされ、後に Mozilla Foundation にライセンスされました」と二人は書いています。
「Netscape と Mozilla は JavaScript 1.4 のような名前を、その実装の特定のバージョンを表すのに使ってきました。 この言語のいくつかの実装者は、起こりうる商標の問題を避けるために他の名前を使用してきました。
“複数の名前、商標問題、そして Java との混同のため、現代の多くのユーザー、本の著者、そしてツールの実装者は単に言語を JS と呼び、’ js’ は JavaScript ソースコードのファイル拡張子として一般的に使用されています。”
Javaは、同じく1995年にJames GoslingがSunに勤務していたときに作成しました。 Oracle が Sun を買収した 2 年後、彼は、検索会社が Android で Java API を使用することに関する Oracle との法廷闘争で、Google に捕まりました。
Gosling は、Java のオープンソースを支援し、2010年から Google の Android 開発者支援チームを率いることになった、もうひとりの有名な元 Sun エンジニア Tim Bray と合流しました。
ウェブをめぐる将来の戦いと最初のブラウザ戦争を示唆したこの二人は、1995年12月に Netscape と Sun が JavaScript を発表した直後、Microsoft が Visual Basic (VB) を Internet Explorer ブラウザ用の VB Script でウェブベースのアプリケーションを作る標準にすると世界に宣言したことを回想しています。
2人が回想するように、JavaScriptはもともと、Javaアプレットのおかげで「高度なプログラミング作業はすべてJavaを使って行う」「Javaのサイドキック・スクリプト言語」として構想されたものであった。
「しかし、JavaScript の経験が増えるにつれ、Web 開発者は、本当に必要なのは JavaScript だけだと気づき始めた」と彼らは書いています。
しかし、当初は、Netscape は Java が Web の将来、および Microsoft の Internet Explorer と独自の Visual Basic との戦いにとって重要であると見なしていたのです。
Eich と Wirfs-Brock によると、「Netscape の会議で Marc Andreessen が明言した叫びは『Netscape plus Java kills Windows』」だったとのことです。 1995年5月、SunがJavaを発表すると同時に、Netscapeは自社のブラウザにJavaをライセンスする計画の概要を明らかにした。
しかし、Andreessen と Sun の Bill Joy は、Java を補完する「小さな言語」を設計し実装することが唯一の実行可能なアプローチであると考えていましたが、JavaScript を作成するという決定には反対者がいなかったわけではありません。
SEE: プログラミング言語。 開発者は、何が好きで何が嫌いか、そして何が一番儲かるかを明らかにする
この論文のもうひとつの重要な引用は、ゲイツ氏が当時 Netscape が支配していた「インターネットの潮流」の中で、2000 年に Microsoft が専有ソフトウェアとオープンソース ソフトウェアに対して根本的に異なるアプローチをとっていたことを強調するものです。
「マイクロソフトは Internet Explorer で、最終的に 90% 以上の市場シェアを獲得していました。 二人は、「マイクロソフトは、自分たちが所有権を持たない Web プログラミング プラットフォームを強化することにほとんど興味を示さなかった」と書いています。
「内部的には、ECMAScript のようなオープンなブラウザ技術の強化から、Windows Presentation Framework のようなマイクロソフト独自の技術の開発へとリソースが振り向けられ、最終的にはオープンな Web 技術を廃止し置き換えることが期待されていました。
「.NET 用のプログラミング言語の分野では、C# と VisualBasic.NET に焦点を当てました。 その中で JScript.NET は、JavaScript プログラマが .NET プラットフォームに移行することを可能にする程度にのみ関連していた。”