誰もが触れる言語のひとつ

「JavaScript」30周年。ウェブサイトの“約98.9%”で使われる言語は10日間で作られた

Munenori Taniguchi

Image:BEST-BACKGROUNDS/Shutterstock.com

Netscape CommunicationsとSun Microsystemsは、いまから30年前の1995年12月5日に、インタラクティブなウェブアプリケーションを作成するためのオブジェクトスクリプト言語であるJavaScriptを発表した。

このスクリプト言語は、当時Netscape社員で後にMozillaプロジェクトに携わったブレンダン・アイク氏がわずか10日間でプロトタイプを開発したものだ。この言語は、最初はMochaと呼ばれていたが、1995年9月にLiveScriptに改名された。そして12月にはサン・マイクロシステムズとの共同発表で正式名称JavaScriptと命名された。

JavaScriptは現在、クライアントサイドコードを持つウェブサイトの約98.9%で実行されており、Webにおける主要なプログラミング言語となっている。ブラウザ上だけでなく、サーバーバックエンド、モバイルアプリ、デスクトップソフトウェア、さらには一部の組み込みシステムなど幅広く利用されている。

同様の役割を持つ言語としてはFlashやSilverlight、Javaがある。前の二者はもはや役目を終えており、Javaは現在はOracleが所有してアップデートも続けているが、業務システムなどで用いられることがほとんどとなっている。

JavaScriptはその開発当時、ウェブデザイナーやプログラミング経験の少ない、または専門でないプログラマーにも理解しやすく、インタラクティブなウェブページを作り上げられるスクリプト言語としてリリースされた。

アイク氏は様々な言語から、良いとこ取りのような格好でJavaScriptを設計し、同氏が当時好んでいたLISP系のScheme、およびオブジェクト指向言語のSelfからその概念的な部分を取り入れたという。マーケティングのために決定されたJavaScriptという名称で最初は誰もが混乱するが、上で述べたJavaとは、構文の見た目が似てはいるものの、直接的な関係はない。

ただ、急ごしらえであったために、JavaScriptには特有のクセや矛盾点が残されており、Netscapeは発表後1年にわたってこの言語の設計を調整した。多くの企業から支持を得ていたにもかかわらず、たびたびその設計に変更が入るため、当時マイクロソフトのCEOだったビル・ゲイツ氏はいつも文句を言っていたと、アイク氏は回想している。

なお、マイクロソフトはInternet Explorer向けにJavaScriptに類似する独自スクリプト言語JScriptを搭載した。JScriptはJavaScriptの国際規格であるECMAScriptに準拠していたものの、JavaScriptとは異なる機能拡張を行ったため、ウェブ開発者は両者の仕様の違いに長らく悩まされることになってしまった。

その後、JScriptを標準のスクリプト言語として搭載するマイクロソフトのウェブブラウザーInternet ExplorerがWindowsに標準搭載されて普及した結果、JavaScriptは一時その人気が停滞した。

ところが、2005年にJavaScriptをXMLと組み合わせ、クライアント(ウェブブラウザー)とサーバー間で非同期に情報をやりとりするAJAX(Asynchronous JavaScript XML)と呼ばれる手法が登場したことで状況が一変した。

AJAX技術は、ブラウザーとサーバー間で非同期に通信できることと、ダイナミックHTML (DHTML) 技術を使用することにより、ウェブページの一部を動的に書き換えることを可能にした。

つまり、ユーザーの操作に応じて、ウェブページを遷移することなくそのページの一部または全体の表示をスムーズに切り替えることが可能になった。アニメーション的な表示も可能になり、それまではFlashなどのプラグインを用いて実現していたアクティブなページが、ブラウザーの機能だけで作れるようになった。

ウェブブラウザ用のJavaScriptコード記述をより簡単にするJQueryなどのJacvascriptライブラリーによってAJAX技術はさらに普及し、2009年にはサーバサイドJavaScript実行環境のNode.jsが登場して、JavaScriptの活躍の場がウェブブラウザーの枠から飛び出し、大きく拡大した。

プログラミング技術に関するナレッジコミュニティのStack Overflowが今年1月に公開したブログ記事によると、開発者の62%がJavaScriptを使用しており、12年連続で、ウェブ言語を含むプログラミング言語のなかで最も人気のある言語として君臨しているという。

関連キーワード: