JavaScriptの歴史については「JavaScript: The First 20 Years」を読む
JavaScript/ECMAScriptというプログラミング言語の歴史について書いた文章はWikipediaなどいろいろなものがあります。
その中でも、ECMAScript 2015のSpec EditorであるAllen Wirfs-Brockによって書かれた”JavaScript: The First 20 Years”が特におすすめです。
“JavaScript: The First 20 Years”はHOPL IV - History of Programming Languages向けに書かれたPaperです。 JavaScriptの誕生からECMAScriptの策定、ECMAScript/JavaScript各バージョンでの違い、ブラウザ戦争、Ajax、ブラウザ間の差異を吸収するライブラリ、策定が中止されたECMAScript 4のやり取り、ChromeとV8、ECMAScript 2015、CommonJSとNode.js、CoffeeScript、narcissus/Traceur/Babel/TypeScriptなどのTranspilerが果たした役割など、「JavaScriptの歴史」について書かれた文章です。
ブラウザ上にスクリプト言語を作る”Mocha”というコードネームで始まったJavaScriptについて。 10日でJavaScriptのプロトタイプ実装を作ったBrendan Eichの話や当時の動作、その背景などについてもいろいろな資料に基づいて書かれています。
Mocha(JavaScriptの初期コードネーム)についての話
10日でプロトタイプ実装されて、
— azu (@azu_re) May 6, 2020
1年後に2週間で書き直されるJavaScript pic.twitter.com/wWQgiqsXjW
JavaScriptをIETFやW3CなどではなくEcma Internationalで標準化することなった経緯や その際に”ECMAScript”という名前になる前に他の名前の候補があったと話などもあります。
ECMAScriptじゃない名前の候補色々。
— azu (@azu_re) May 6, 2020
Mochaを引きずったものが多いhttps://t.co/lAsTBPMX01 pic.twitter.com/ChhPWUkx2E
著者のAllenさんはMicrosoftでECMAScriptの仕様策定に関わり始めた話。 ECMAScript 4はいろいろな問題があったため、TC39のTG(Task Group)が別れて互換性のある仕様変更(ES 3.1、ES5)に取り組んだ話、そしてECMAScript 4の策定中止の流れなどについても詳細が書かれています。
60ページぐらい進んでやっと著者本人がでてきた。https://t.co/lAsTBPMX01 pic.twitter.com/yqz1JWB2Ub
— azu (@azu_re) May 6, 2020
そして、今のJavaScriptであるECMAScript 2015(ECMAScript 6)の策定プロセスの話。 また、ECMAScript以外にもJavaScriptのエコシステムに関わる幅広い話が出てきます。
CommonJSのスタートとなったWhat Server Side JavaScript needs ·という記事についての話やNode.jsなどについても書かれています。
Node.jsがでてきた。
— azu (@azu_re) May 6, 2020
ほんとにこれJavaScriptの歴史全部やる感じっぽい。
Dart、GWT、CoffeeScript pic.twitter.com/11niP6dTEF
ES6/ES2015ではオプトインな機能は入れないという話https://t.co/iVny5RvQxY "tc39-2012-005.pdf" https://t.co/xTJYWNfzs3 #ECMAScript #history
— azu (@azu_re) May 6, 2020
扱っている範囲がほんとに「JavaScriptの歴史」なので、かなり幅広く書かれています。 そのJavaScriptの歴史で起きた出来事を参照できる資料とともに解説しています。 そして、なぜ今もJavaScriptが使われ続けているのかについても考察されています。
JavaScriptは低い期待値の言語として始まった。
— azu (@azu_re) May 6, 2020
最初の20年間ではJSを再設計/置き換る試みが失敗したにもかかわらず世界で広く使われる言語となった。
またブラウザ以外のJSである特別な理由がない所でも使われる。
多くのifがあるが、ウェブを壊す事なくJSを利用/拡張する方法を見つけた人たちがいた pic.twitter.com/LIKoK7iCa0
ECMAScriptの仕様やミーティングノートなどのアーカイブも残っています。
“JavaScript: The First 20 Years”は「JavaScriptの歴史」について書かれた文章なので、JavaScriptの歴史に興味がある人にはおすすめです。
ここまで細かいECMAScriptのタイムラインみたことない… pic.twitter.com/3kpOGOMGxD
— azu (@azu_re) May 6, 2020
JavaScript Primer - 迷わないための入門書 #jsprimerでもJavaScriptの歴史について書こうとしましたが、 中途半端になることがわかっていたので、ECMAScript策定プロセスに関係する部分のみにしていました。
“JavaScript: The First 20 Years”はホントにJavaScriptの歴史が書かれています。 次のページから読めます。
また同じくAllen Wirfs-Brockによるプログラミング言語標準化におけるプラクティスについて書かれた”Programming Language Standardization:Patterns for Participation”という文章もおすすめです。 プログラミング言語のように一定の合意が必要なものを策定する場合におけるパターンについて書かれています。
お知らせ欄
JavaScript Primerの書籍版がAmazonで購入できます。
JavaScriptに関する最新情報は週一でJSer.infoを更新しています。
GitHub Sponsorsでの支援を募集しています。