1. 身近な「Web の動き」を逆算する
ブラウザで見る動的な Web (動くボタン、ドロップダウン、Google Maps、Instagram、Slack) は、すべて JavaScript で動いている。1995 年、Netscape の ブレンダン・アイク がたった 10 日で設計した言語。
Web が「静的なドキュメント表示」のままだった可能性。動的な Web アプリ・SPA・Web ゲーム・Node.js のバックエンドサーバ、すべて JavaScript なしには成立しなかった。
2. 100 文字でわかる
ブレンダン・アイク (1961〜)。米国 CS 学者。1995 年 Netscape で JavaScript を 10 日で設計、Mozilla 共同創設者、Brave ブラウザ CEO。Web 言語の祖。
3. 500 文字でわかる
1961 年米国生まれ、SGI / MicroUnity を経て 1995 年 Netscape Communications 入社。当時 Netscape は 「ブラウザに動的な機能を入れる必要がある」 と判断し、新言語の開発をアイクに依頼。期限はわずか 10 日。彼は Scheme (関数型) + Self (オブジェクト指向) + Java っぽい構文 を組合せた Mocha を 10 日で完成、後に JavaScript に改名 (Java の人気便乗)。Java と JavaScript はほぼ無関係 だが、名前で誤解されやすい。1996 年に ECMA International で標準化、現在の ECMAScript 標準。1998 年 Mozilla プロジェクト共同創設、Firefox ブラウザの基礎を築く。2014 年 Mozilla CEO に就任、しかし同性婚反対の政治献金歴が炎上、11 日で辞任。2016 年 Brave ブラウザ起業、広告ブロック + 暗号通貨統合の新しいブラウザを推進中。
4. もっと詳しく
JavaScript の 10 日設計 (1995)
Netscape は 「Web ページに動きを入れる言語」 を緊急で必要としており、アイクに 10 日の期限 を提示。彼は Scheme + Self + Java 風構文 を組合せた言語を完成。「期限がなければもっと良い設計にできた」と本人は後悔。「1995 年 5 月、私は 10 日間泊まり込みで言語を作った。後で直すつもりが、今も直し切れていない」と冗談混じりに語る。
ECMA 標準化と進化
1996 年、Microsoft が JScript として実装、Netscape との互換性問題が深刻化。1997 年に ECMA International で ECMAScript として標準化、以降 ES5 (2009)・ES6 (2015) と進化を続け、現代の Web の基幹技術に。
Mozilla CEO 騒動 (2014)
2014 年 3 月 24 日、Mozilla CEO に就任、しかし 2008 年に同性婚反対の州憲法改正提案 (Prop 8) に 1000 ドル献金 していたことが発覚し炎上。4 月 3 日、わずか 11 日で辞任。「Web の自由」を掲げる Mozilla の理念と矛盾するという批判。
Brave ブラウザ
2016 年に Brave Software 起業。広告とトラッキングをブロックする独自ブラウザ Brave、広告閲覧で 暗号通貨 BAT (Basic Attention Token) を獲得できる仕組み。「広告を見る代わりに使用者にお金を払う」という斬新な収益モデル。
5. 現代への影響
- Web 全体: あらゆる動的 Web ページ・SPA・Web アプリ
- Node.js: バックエンドでも JavaScript
- Electron / React Native: デスクトップ・モバイルアプリ
- Mozilla / Firefox: 開かれた Web の象徴
- Brave ブラウザ: 広告経済への新しい挑戦
6. もっと知りたい人へ
- Wikipedia (日本語): ブレンダン・アイク
- Brave 公式: https://brave.com/
- ECMAScript 仕様: https://tc39.es/ecma262/
7. 次の話
EP.25 では ヘディ・ラマー を扱います。ハリウッド女優兼発明家、Wi-Fi / Bluetooth の元になる技術の発明者。
この記事の感想を教えてください
あなたの 1 クリックで、本当にこの記事は更新されます。「もっと詳しく」「続編希望」が一定数集まった記事は、 ふくふくが 実際に内容を拡充したり続編記事を公開 します。 送信したリアクションはお使いのブラウザに記録され、再カウントされません。