22. 結論

JavaScript が作成されたときの期待度は低かった。元々はブラウザの中で動作する Java の弟分として作られた言語であり、想定されたユーザーはウェブページ開発の初心者とアルバイトのプログラマだった。しかし JavaScript は対話的なウェブページ用の言語としてすぐに Java を追い越した。JavaScript の最初の 20 年には JavaScript を拡張、改善、再設計、置換しようとして失敗した試みが数多く散乱している。しかしそれでも、20 年が経過するころには JavaScript は世界で最も使われる言語となった ── その用途はウェブページにとどまらない。Node.js をはじめとしたホストを使って作られるサーバーアプリケーションに加えて、JavaScript はデスクトップアプリケーション、モバイルデバイスアプリケーション、フィットネストラッカー、ロボット、そして数えきれない数の組み込みシステムを構築するのに使われている。ジェイムズ・ウェッブ宇宙望遠鏡さえオンボードの制御ソフトウェアの一部として Nombas による ES1 レベルの組み込み JavaScript を使っている [Dashevsky and Balzano 2008]。

JavaScript の台頭は避けられないことだったのだろうか? ウェブが課す相互運用性の要件とブラウザゲーム理論は単一の支配的なウェブページ用プログラミング言語を生み出す上で好都合だったかもしれない。しかし、その言語が JavaScript でなくてはならなかった特別な理由は存在しない。他の言語でも同じ役割を果たすことはできただろう。考えてみれば、JavaScript の歴史の中には未来が変わっていた可能性のあるポイントがいくつも存在する:

もし、もし、もし……しかし、そういった「もし」はどれも起こらなかった。実際には、各世代のブラウザ実装者、エンジン開発者、フレームワーク設計者、規格貢献者、ツール構築者、そしてウェブアプリケーションプログラマが、手厳しい批判に (ときには嘲笑にさえ) 直面しながらも、ウェブをほぼ壊すことなく JavaScript を上手く利用し改善する実用的な方策を見つけたのである。

Brendan Eich は「JSLOL」と題された 2011 年のカンファレンストーク [Eich 2011e] で、JavaScript を次のように特徴付けた:

  • 最初、JS は「リッチインターネットアプリケーション」を構築する上で役に立たないと彼らは言った
  • それから、JS は高速になれないと彼らは言った
  • それから、JS は修復できないと彼らは言った
  • それから、JS はマルチコアや GPU ができないと彼らは言った
  • どれも間違いだった!

私からのアドバイス: どんなときでも JS に賭けよ

関連書籍 (Amazon アソシエイト)
プロを目指す人のためのTypeScript入門 安全なコードの書き方から高度な型の使い方まで
JavaScript Primer 迷わないための入門書
JavaScript 第7版
「ものづくり」の科学史 世界を変えた《標準革命》