JavaScript はなぜ生まれたの?
JavaScript の歴史
現在、世界には200種類以上ものプログラミング言語が存在すると言われています。
なかでも「JavaScript」は、WEBエンジニアなら絶対に押さえておきたい必須言語の1つ。
世界の9割近くにものぼる web サイトで使用されています。
そうなれば、JavaScript 無しには、快適なインターネットライフは成り立たないということが出来ます。
2019年、今や ML 開発でおなじみの「Python」に首位を譲りましたが、それでもなお高い人気を誇っています。
今回は、そんな JavaScript の歴史に触れてみましょう!
JavaScript ってどんな言語?
JavaScript は、「動きのある」コンテンツを実現させるプログラミング言語です。
webサイトで広告が出てきたり、ボタンをクリックすると画面が表示されるといった技術こそ、JavaScript がもっとも得意とするところ。
初心者向きのプログラミング言語
他にも、JavaScript の主な特徴を挙げてみましょう。
- いろいろなスタイルの開発が可能(手続き型・オブジェクト指向・関数型など)
- ブラウザとテキストエディタだけで実行できる
- フロントエンドでもサーバー側でも開発できる
- 多種多様なフレームワークがある(「Vue.js」「Angular」「React」など)
このように、JavaScript は他の言語に比べて敷居が低いため、「初心者向きのプログラミング言語」でもあるといえます。
1995年、JavaScript 誕生
JavaScript が生まれたのは、1995年のこと。
当時 ネットスケープコミュニケーションズのプログラマーだった、ブレンダン・アイク氏が開発しました。
Java とは無関係なのに JavaScript
開発当初は「LiveScript(ライブスプリクト)」という名称でした。
しかし、同年サン・マイクロシステムズ(現:オラクル社)からリリースされた Java が注目を浴びていたことにあやかり、「JavaScript」と名付けられました。
そんなわけで、混同されやすい「JavaScript」と「Java」は全くの別物です。
JavaScript にいきなり逆風
1996年、マイクロソフト社が Internet Exploler 3.0をリリース。
マイクロソフト社は JavaScript を使いたかったのですが、ネットスケープ社は許可を出しませんでした。
仕方なくマイクロソフト社は「JScript」という言語を開発しました。
しかし、ブラウザで互換性がない部分が多く、デベロッパーには大不評でした…
1997年、JavaScript の標準化
1997年、JScript と JavaScript の非互換性の問題を解決するため、国際的な標準化団体「ECMA」に JavaScript の標準化を申請します。
これにより生まれたのが、「ECMAScript」です。
第一次ブラウザ戦争は IE の勝利
この頃に起こっていた「Netscape Navigater」と「Internet Exploler」のブラウザのシェア争いを「第一次ブラウザ戦争」とよんでいます。
勝敗を分けた決め手は、1998年に発売された Windows98 でした。
Windows98 には、Internet Exploler が標準搭載されていたので、必然的に Internet Exploler を使うユーザーが増え、シェアを伸ばしたというわけです。
JavaScript の暗黒期
そして、2000年代初頭。
第一次ブラウザ戦争の敗北に追い打ちをかけるように、JavaScript には逆風が続きました。
最大の持ち味が仇となる
実はこの頃、JavaScript に対して、エンジニア界隈からの不平不満が勃発していました。
Java Script は、ブラウザ上でアニメーションのように「動きのあるコンテンツ」を実装できることが特徴です。
しかし、これを利用して目ざわりなアニメーションを多用するケースや、誰でも容易に導入できることが原因で、セキュリティ面での不安要素も高まり、JavaScript 機能自体をオフにしてしまう人が続出しました。
Flash にお株を奪われる
また、Flash という超強力なライバルも出現します。
ECMA Script がベースの「Action Script」が Flashに組み込まれたこともあり、動きのあるコンテンツは、動作が軽い Flash を起用するのが主流に。
挙句の果てには「JavaScript はもういらない」とまで言われるようになってしまうのです…
Google が救世主に!そこから、一気に攻勢
そんな絶望的な状況の中、ついに JavaScript に転機が訪れます。
2005年、JavaScript の技術「A-jax」を採用した Google マップが登場したことで、JavaScript に復活の道が開けたのです。
多様なライブラリが誕生
さらに、この時期、A-jax の他にも、JavaScript 復活に貢献したものがあります。
それが、「jQuery」や「prototype.js」などのライブラリ。
これらのライブラリが誕生したことで、少ない記述で豊かな表現が可能になりました。
2008年、node.js リリースで一気に攻勢
そして2008年、「node.js」の誕生により、JavaScript は一気に拡大します。
これまでは、フロントエンドでしか使用できなかった JavaScript が、ついにサーバサイドでも使用できるようになったのです。
JavaScript 2.0の失敗が功を奏した
しかし、更なる拡大を狙って開発に着手した JavaScript2.0 は、徒労に終わってしまいました。
なぜなら、ECMAScript の標準化が「3.1」と「4」で分裂してしまったためです。
後に、両者を合わせた「ECMAScript Harmony」、いわゆる「ECMA Script2015(ES6)」が標準化されました。
JavaScript は時代遅れ?それとも現役?
時代は TypeScript?
そんな紆余曲折を経てきた JavaScript。
ですが、最近プログラマー界隈では、「まだ JavaScript で書いてるの?」という会話がチラホラ…
昨今は JavaScript ではなく、「TypeScript」で書くプログラマーが増えています。
なぜなら、TypeScript には以下のようなメリットがあるからです。
- 型安全(JavaScript 変換時にエラーを教えてくれる)
- どのブラウザでも動く
開発担当を1人で行っていたり、使用言語を特定されない場合は、TypeScript で書いているプログラマーが多いのです。
でも、JavaScript はなくならない
しかし、node.js も TypeScript も、結果的には JavaScript として実行されます。
よって、JavaScript が web上に必要不可欠な言語であることは間違いありません。
エンジニアが現在ある言語を改良して、新しい言語がどんどん生まれていくことは、開発業界にとってはとても良い傾向だと思います。
ワンピースでいえば、ゴール・D・ロジャーじゃ!…ん、違うか!
さいごに
今回は、JavaScript の歴史について触れてみました。
2020年6月、JavaScript を開発したブレンダン・アイク氏と、ECMA Script の仕様をまとめたアレン・ワーフスブラック氏は、米計算機学会の機関誌「ACM Journal」にて、JavaScript が誕生してからの20年を振り返った文書を公開しました。
文書の中では、JavaScript の当初について、以下のような言及があります。
JavaScript は当初「Javaのおまけのようなスクリプティング言語」という位置付けだった。
~中略~
しかし、JavaScript を用いた経験を積んでいくなかで、ウェブ開発者らは、JavaScript こそ本当に必要なものだと気づき始めた
アイク氏のこの言葉は、決して JavaScript だけに通ずる話ではなく、エンジニアが成長していく上での教訓のように思えてなりません。
こちらの記事もオススメ!
2020.08.07JavaScript 特集知識編JavaScriptを使ってできることをわかりやすく解説!JavaScriptの歴史【紆余曲折を経たプログラミン...
2020.07.17ライトコード的「やってみた!」シリーズ「やってみた!」を集めました!(株)ライトコードが今まで作ってきた「やってみた!」記事を集めてみました!※作成日が新し...