JavaScript帝国 — 嘲笑された軽さが世界を覆うまで
ブラウザの片隅で軽蔑されていたスクリプト言語が、いかにして現代のデジタル空間全域を支配する帝国へと変貌したのか。その過程に潜む技術的必然と、欠陥を武器とした逆説的勝利の構造を追う。
一九九五年、ブレンダン・アイクが十日間で書き上げたプログラミング言語は、当初から嘲笑の対象だった。型システムの曖昧さ、スコープの不可解な挙動、暗黙の型変換がもたらす予測不能な結果 — JavaScriptはあらゆる意味で「まともな」プログラミング言語の対極に位置していた。Java、C++、そしてPerlといった当時の覇権言語の使い手たちは、この「ブラウザのおもちゃ」を鼻で笑った。せいぜい画像をクリックしたときにポップアップを表示させる程度の、取るに足らない装飾的スクリプトに過ぎないと。だが彼らは理解していなかった — この軽蔑された「軽さ」こそが、来るべき帝国の基盤になるということを。
JavaScriptの初期の歴史は、まさに制約の歴史である。ブラウザというサンドボックスに閉じ込められ、サーバーサイドの「本格的な」言語に比べれば機能は貧弱で、できることは限られていた。しかしこの制約こそが、JavaScriptに独特の進化圧をもたらした。ブラウザという、世界中のあらゆる人間がアクセスする普遍的なプラットフォームに最初から組み込まれていたという事実 — これは他のどの言語も持ち得なかった圧倒的な配布力だった。インストール不要、環境構築不要、クリックひとつで実行可能。この「摩擦のなさ」は、品質や設計の優雅さといった伝統的な価値を無効化した。ボードリヤールが指摘したシミュラークルの論理がここにも適用できる — 本物の「完全な言語」を模倣しようとしない不完全なコピーが、むしろその不完全さゆえに、より広範な現実を構成してしまうという逆説。JavaScriptは完璧なプログラミング言語であろうとせず、ただブラウザという制約空間で動くものとして存在し続けた。そしてその謙虚さが、最終的には傲慢な勝利へと転化する。
二〇〇五年前後、AjaxというバズワードとともにJavaScriptは初めて真剣に扱われ始める。Google MapsやGmailが示したのは、JavaScriptが単なる装飾ではなく、動的でインタラクティブなアプリケーションの基盤になり得るという可能性だった。しかし真の転換点は二〇〇九年、ライアン・ダールがNode.jsを発表したときに訪れる。ブラウザという牢獄から解放されたJavaScriptは、サーバーサイドへと侵食を開始した。かつて「クライアントサイドの遊び道具」と蔑まれた言語が、バックエンドを、データベースを、リアルタイム通信を支配し始める。npmというパッケージマネージャーのエコシステムは爆発的に成長し、あらゆる機能が「モジュール」として無限に供給される状況が生まれた。この増殖は、もはや誰かの意図によって制御されているのではなく、それ自体が自律的な運動として進行していった。開発者たちは、JavaScriptを選びたくて選んでいるのではない — ただ、すでにそこにJavaScriptがあるから使うのだ。フロントエンドはJavaScript、バックエンドもJavaScript、モバイルアプリもReact Native、デスクトップアプリもElectron。全てがJavaScriptで統一される世界。これは効率化なのか、それとも単なる怠惰なのか。おそらくその両方であり、そして同時にどちらでもない。ただ流れに身を任せることが、最も抵抗の少ない道だからだ。
帝国が完成するのは、TypeScriptという「改良版」が登場してからである。MicrosoftによるこのJavaScriptのスーパーセットは、型システムを導入することで「まともなプログラミング言語」の体裁を整えた。皮肉なことに、JavaScriptの欠陥を補完しようとする試みが、JavaScriptの支配をさらに強固にした。TypeScriptはJavaScriptを否定するのではなく、JavaScriptに寄生し、JavaScriptを前提としながら、JavaScriptをより「使いやすく」した。これはまさに資本主義的拡張のロジックそのものだ — 批判を内部化し、改良を装いながら、本質的な構造は維持したまま領域を拡大していく。React、Vue、Angular、Svelte、Next.js、Nuxt、Astro — フレームワークの乱立は、JavaScriptエコシステムの豊かさを示しているのか、それとも根本的な不安定さを隠蔽するための絶え間ない更新の必要性を示しているのか。おそらく後者だろう。JavaScriptという基盤そのものに内在する不完全さが、永遠のアップデートを要求し続ける。そしてその不完全さこそが、エコシステムを活性化させ、新しいツールを次々と生み出す原動力となる。
かつて馬鹿にされていたJavaScriptは、今や事実上の世界標準である。WebAssemblyという「JavaScriptを置き換える」はずの技術でさえ、結局はJavaScriptと共存する道を選んだ。ブラウザという最も普遍的なプラットフォームを最初から占有していたという歴史的偶然が、全てを決定した。技術的優位性ではなく、配置の優位性。デザインの優雅さではなく、摩擦の不在。完全性の追求ではなく、不完全性の受容。JavaScriptの帝国化が教えるのは、勝利とは必ずしも優れているから達成されるのではなく、単にそこにあり続けたから達成されるということだ。そしてひとたび帝国が確立されれば、もはやそれを問い直すこと自体が無意味になる。我々は今、JavaScriptという言語の中で思考し、JavaScriptというフレームワークの中で創造し、JavaScriptというエコシステムの中で生きている。それが最善だからではなく、それ以外の選択肢がもはや現実的でないからだ。嘲笑された軽さは、やがて逃れられない重力となった。そして我々は、その重力に引かれながら、それを自由だと錯覚し続ける。