JavaScript
Netscapeのブラウザに組み込むために、ごく短期間で作られたスクリプト言語。Webページに動きを与える言語として広まり、いまやブラウザだけでなくサーバーまで動かす、Webに不可欠な言語へと育った。
時代背景
1995年、Netscape Communications社はWebブラウザNetscape Navigatorに、簡単なスクリプトでページに動きをつけられる言語を組み込もうとしていた。Brendan Eich本人のブログによれば、同僚Kipp Hickmanと1995年4月から5月にかけてJavaを学んでおり、Kipp自身のJVM実装も試みていたが、Sun社のJVMとバグレベルで互換にすることが難しいという判断からその路線は取りやめになった。Eichはこの時期、社内でコード名『Mocha』と呼ばれる新しいスクリプト言語のプロトタイピングを進めており、5月上旬から中旬にかけての急速な試作と、当時プレアルファ段階だったNetscape Navigator 2.0への組み込みによって、その実用性が証明されたと本人は振り返っている。
名前の由来
開発時のコード名は『Mocha』で、その後『LiveScript』と呼ばれた時期を経て、最終的に『JavaScript』という名前で公開された。名前の変更にはSun MicrosystemsのJavaとの提携が関係している。当時Netscapeの技術者だったEich本人は、Sun社との交渉のなかで、JavaScriptを『Javaを補完するスクリプト言語』として位置づける戦略が取られたと説明しており、これはMicrosoft製品でのVisual BasicとC++の関係に似た立ち位置を意図したものだったという。
俗説と実際
『JavaScriptはわずか10日間で作られた』という話は広く語られる逸話だが、この短期間という表現がどの作業を指すかは文脈によって揺れがある。Brendan Eich本人のブログでは、1995年4月から5月にかけてJavaを学びながらNSPR(Netscapeのポータビリティ層)を書き、5月上旬から中旬にかけて『Mocha』のプロトタイピングを進め、それがNetscape Navigator 2.0への組み込みによって実用性を証明した、という経緯が説明されている。つまり『10日間』という数字が指すのはMochaの最初のプロトタイプが動くようになるまでの期間を指す表現として広まったものと考えられるが、今回参照した本人のブログ記事の当該箇所には日数そのものの明記は見当たらず、正確な起算日と終了日を確認できたわけではない。
| 起源 | Netscape |
|---|---|
| 用途 | Webフロントエンドほか |
関連項目
- Mosaic文章と画像を同じ画面に並べて表示できた、初期のGUI Webブラウザ。それまで専門家のものだったWebを一般の人にも見やすくし、Webが爆発的に広まるきっかけになった。後のNetscapeへとつながる。
- Javaサン・マイクロシステムズが開発した、「一度書けばどこでも動く」を掲げた言語。仮想マシン上で動く仕組みで環境差を吸収し、企業システムやAndroidアプリの基盤として広く普及した。
- TypeScriptマイクロソフトが作った、JavaScriptに型の仕組みを加えた言語。大規模なWeb開発でミスを減らせるため急速に普及し、いまや多くのフロントエンド開発の標準的な選択肢になっている。
- ActionScriptAdobe Flash上で動くプログラミング言語。Webのアニメやゲームを動かし、Flash全盛期を支えたが、Flashの終焉とともに役目を終えた。
- JSON軽量なデータ交換フォーマット。JavaScript由来の素直な記法で、Web APIのデータ受け渡しの定番となった。
- SwiftAppleがiOS/macOSアプリ開発のために作った言語。それまでのObjective-Cより書きやすく安全で、Apple製品向けアプリ開発の主役になった。
- Netscape Navigator1990年代のWebを代表したブラウザ。多くの人が初めてインターネットに触れた窓口で、JavaScriptやクッキーなど今に続く技術もここから生まれた。後にInternet Explorerとの「ブラウザ戦争」を繰り広げた。
- Pythonグイド・ヴァンロッサムが作った、読みやすさを重視した汎用スクリプト言語。シンプルな文法と豊富なライブラリで、Web・データ分析・機械学習まで幅広く使われ、現在もっとも広く学ばれる言語の一つになった。
- PHPHTMLに直接書ける手軽さでWebアプリ開発に広く使われたサーバーサイド言語。雑多な作りと言われつつも導入の容易さで爆発的に普及し、WordPressをはじめ膨大なサイトを支えた。Web黎明期の動的サイトを語るに欠かせない。