JavaScript
ECMAScript

歴史から学ぶECMAScriptとJavaScriptの違い

ECMAScriptとJavaScriptの関係を知るには、その歴史を紐解いてみるのが良いかもしれません。

JavaScriptの誕生は、その生みの親であるブレンダン・アイクがNetscape1で動作するスクリプト言語を作るよう頼まれたことから始まります。Scheme2のようなパワフルさを持ち、Javaのような初心者でも簡単にコーディングできるような言語という無茶な要求でした。アイクは苦心した末にプロトタイプを導入することでこれらの課題を同時に解決する言語を開発しました。

言語が完成したあと、Netscapeのマーケティングチームは、マーケティングの一貫としてその言語に「JavaScript」と名付ける許可を、当時Javaの商標を持っていたサン・マイクロシステムズ社から取り付けました。JavaScriptがリリースされてから数年すると、MicrosoftのIEがそれを採用し、JScriptなどの独自言語を実装しはじめました。

IEがブラウザ市場を席巻するようになると、Netscapeプロジェクトは閉鎖されることになりました。Netscapeがなくなる前に、JavaScriptの開発者たちは、JavaScriptの標準化プロジェクトとなるECMAScriptを欧州電子計算機工業会(European Computer Manufacturers Association)主導で開始することにしました。

ECMAScriptにはいくつかのバージョンがあり、1999年にECMAScript 3がリリースされました。そこから10年間、MicrosoftはJavaScript界に支配的な影響を与えたものの、ブラウザの改良をしてこなかったため、JavaScriptは停滞期を迎えます。

しばらくすると、アイクのリードのもとFirefoxが開発され、GoogleからはChromeも発表されると、IEの独占市場が崩れはじめました。その後、2009年にはECMAScript 5がリリースされ、ECMAScriptは多くのブラウザがJavaScriptを実装するにあたって準拠する標準としての地位が確立し、ECMAScript 2015はBabelなどのトランスパイラの後押しもあって、大きく成功することになりました。

歴史的に見ると、ECMAScriptはJavaScriptから生まれたものであるものの、現在では、JavaScriptの実装規範となる「標準」としての存在になっています。

ちなみに、今は亡きActionScript(Flashの開発に使われた言語)は、JavaScriptではありませんが、ECMAScriptに準拠していました。

(間違いがあったら教えて下さい)


情報源





  1. Netscape……昔むかし、IEと肩を並べてたウェブブラウザ。Netscapeシリーズ - Wikipedia 



  2. Lisp言語の方言の一つ。Emacsというエディタの設定用スクリプトには(Schemeではないが)Lispが採用されており、簡素な記述で無限に強化出来ることからEmacsは最早エディタではなくOSなどと表現されている。