JavaScriptの歴史

JavaScriptの全ての可能性を発揮するためには、その本質、歴史及び限界を理解することが非常に重要です。

このセクションではJavaScriptとクライアントスクリプトの起源について説明します。

NombasとScriptEase

1992年頃、Nombasという会社がCミニマイナス(C-minus-minus、略称Cmm)というエンベデッドスクリプト言語を開発しました。Cmmの背後にある理念は非常にシンプルで、マクロ操作(macro)を代替できる十分に強力なスクリプト言語であり、C(およびC++)との十分な相似性を保ちながら、開発者がすぐに学べるようにするというものです。このスクリプト言語はCEnviという共有ソフトウェアにバンドルされており、開発者にその言語の威力を初めて示しました。

Nombas は最終的に Cmm の名前を ScriptEase に変更し、後半部分(mm)がネガティブに聞こえすぎるとともに、C は「恐ろしい」と感じられるためであった。

今では ScriptEase は Nombas プロダクトの背後にある主要な原動力となっている。

Netscape が JavaScript を発明した

Netscape Navigator が注目を集めるようになると、Nombas はウェブページに埋め込める CEnvi のバージョンを開発した。これらの初期の試みは Espresso Page(濃いコーヒーのようなページ)と呼ばれ、ウェブ上で最初に使用されたクライアント言語を代表するものであった。Nombas はその理念がウェブの重要な基盤になることを全く予想していなかった。

オンラインサーフィンが人気を博すにつれて、クライアント側のスクリプト言語の開発需要も増大していった。その時のインターネットユーザーの多くは 28.8 kbit/s のモデムでネットワークに接続しており、ウェブページはどんどん大きく複雑になっていた。さらにユーザーの苦痛を増すことに、簡単なフォームの有効性確認のためにサーバーと複数回の往復通信を行う必要があった。ユーザーがフォームに記入し、送信ボタンをクリックし、30秒待ち处理后、必要なフィールドを忘れたことを知らされるだけのメッセージが表示されることを想像してみてください。

その時の Netscape は技術革新の最前線に位置し、クライアント側のスクリプト言語を開発することで簡単な処理問題を解決することを真剣に考慮し始めた。

その時 Netscape で働いていた Brendan Eich は、1995年にリリースされる予定の Netscape Navigator 2.0 に向け、LiveScript と呼ばれるスクリプト言語を開発することに着手した。その目的は、ブラウザとサーバー(本来は LiveWire と呼ぶ予定だった)の端で使用することであった。Netscape と Sun は LiveScript の実装を迅速に完了させた。

Netscape Navigator 2.0 が公式リリースされる直前、Netscape はそれを JavaScript と改名し、Java というインターネットのトレンディな言葉を利用する目的であった。Netscape の賭けは最終的に報われ、JavaScript はインターネットの必須のコンポーネントとなった。

三足鼎立

JavaScript 1.0 が大成功を収めたため、Netscape は Netscape Navigator 3.0 で 1.1 版をリリースしました。その頃、マイクロソフトはブラウザ市場に参入し、IE 3.0 をリリースし、JScript と呼ばれる JavaScript のクローン版を搭載しました(Netscapeとの潜在的なライセンス紛争を避けるためにこの名前が選ばれました)。マイクロソフトが Web ブラウザ市場にこの重要な一歩を踏み出したことは、JavaScript 言語の発展において重要な一歩となりました。

マイクロソフトが参入した後、3つの異なる JavaScript 版本が同時に存在しました:Netscape Navigator 3.0 での JavaScript、IE での JScript、CEnvi での ScriptEase。C その他のプログラミング言語とは異なり、JavaScript には統一された文法や特性を統一する標準はありません。これら3つの異なるバージョンがこの問題を強調しました。業界の懸念が高まると、この言語の標準化は必須となりました。

標準化

1997年、JavaScript 1.1 は欧州計算機製造者協会(ECMA)に提案されました。第39技術委員会(TC39)は「一般的で、プラットフォームに依存しない、メーカーに中立なスクリプト言語の文法と意味の標準化」を行うために任命されました。http://www.ecma-international.org/memento/TC39.htm)。Netscape、Sun、マイクロソフト、Borland その他の脚本プログラミングに興味を持つ企業のプログラマーからなる TC39 が ECMA-262 を作り上げ、ECMAScript と呼ばれる新しいスクリプト言語の標準を定義しました。

その後の数年間、国際標準化機構および国際電気通信委員会(ISO/IEC)も ECMAScript を標準として採用しました(ISO/IEC-16262)。それ以来、Web ブラウザは ECMAScript を JavaScript 実装の基盤として努力してきました(成功と失敗の程度は異なりますが)。