JavaScript(ジャバスクリプト)というプログラミング言語の名前を聞いたことがあるでしょうか。現役プログラマーの方はもちろんのこと「これからプログラミングを勉強する」という方も、恐らく一度は聞いたことがあるかと思います。
とはいえ「JavaScript(ジャバスクリプト)がどういった歴史を歩んできたのか」については聞いたことがない方が多いはず。そんな方のために今回は、誕生から現在に至るまでの、JavaScript(ジャバスクリプト)の歴史についてみていきたいと思います。
JavaScript(ジャバスクリプト)が初めて世にリリースされたのは、今から20年以上前の1995年。イギリス人プログラマ、ブレンダン・アイク氏(Brendan Eich)によって開発されました。その頃ブレンダン氏は、アメリカにあるネットスケープコミュニケーションズ社 (Netscape Communications)に所属していました。
同社はRDF/RSS・SSLといった、今なお重宝されている技術を生み出した会社でもあります。そんなネットスケープ社が開発した『Netscape Navigator』というブラウザに、JavaScript(ジャバスクリプト)が実装されたのです。バージョンでいうと2.0の頃でした。
JavaScript(ジャバスクリプト)は元々LiveScriptと呼ばれていたそうです。そこからJavaScript(ジャバスクリプト)という名前になった背景には、当時流行していたSun Microsystems(現Oracle)製の、Java言語が関係しています。
当時JavaはIT業界における注目の的。そんなJava人気にあやかって、JavaScript(ジャバスクリプト)という名前が付けられたそうです。名前が似ているため勘違いされる方も多いですが、JavaとJavaScript(ジャバスクリプト)には何の関係もありません。
とは言え、ネーミングの効果があってか、Netscape Navigatorは、リリース直後からかなりのシェアを獲得しました。
Netscape Navigator人気の勢いは、マイクロソフト社のビル・ゲイツ氏も触発されるほど。マイクロソフト社は遅れてInternet Exproler(IE)というブラウザを開発し、1995年にリリースしたWindows 95にもIEが搭載されました。
それと合わせて『Jscript』というスクリプト言語も自社独自で開発しました。これを機に両社をはじめとした、ブラウザ戦争が幕開けすることになったのです。
『Jscript』という字面が『JavaScript』と非常に似ているので混同しますが、それぞれに互換性はあまりないプログラミング言語です。Navigator上で動くJavaScript(ジャバスクリプト)がIEでは動かない。IE上では動くJscriptはNavigatorでは動かない。といった問題が頻繁に発生していました。こういった問題を解消するために、Webページを作る際は2つのブラウザを考慮しなければなりません。
つまりはWeb開発者にとっては、作業が2倍に増えるようなもの。不便が大きく、不満を招く種となっていました。
そこでNetscape社は、エクマ・インターナショナル(Ecma International)という外部機関に依頼して、JavaScript(ジャバスクリプト)の標準化を進めることにします。エクマ・インターナショナルは情報通信システムの分野の国際的な標準化を行う団体です。その結果、JavaScript(ジャバスクリプト)の主要機能を標準化仕様として定義がなされた言語、ECMAScript(ES)が誕生しました。
Netscape自体の人気は高かったものの、JavaScript(ジャバスクリプト)におけるプログラミング言語としての評価は、それほど高いものではありませんでした。JavaScript(ジャバスクリプト)には型の仕様がなかったこと、制御構造が不足していること、などがその理由だと言われています。
すでに登場していた、C言語やJavaに比べると、プログラマ達を満足させるレベルには到達していなかったのです。またJavaScript(ジャバスクリプト)が登場した当時はAdobe社製のFlash(グラフィックを特別な技術を用いてデータサイズを軽くする技術)が脚光を浴び、JavaScript(ジャバスクリプト)はそれらの影に隠れた存在でした。
そんなJavaScript(ジャバスクリプト)が、一躍存在感を増した出来事が起きました。2005年2月のことです。
JavaScript(ジャバスクリプト)の技術を活用した『Ajax』の登場でした。『Ajax』とは『Asynchronous JavaScript + XML』の略です。Asynchronousは日本語に訳すと『非同期』です。JavaScript(ジャバスクリプト)とXMLを使って、非同期にサーバとの通信を行うという意味になります。そのAjaxの技術を活用したサービスが、いわずと知れたGoogle Mapだったのです。
普段Google Mapのスマホアプリお使いの方はお分かりかと思いますが、Google Mapは歩けば、リアルタイムに位置情報や周辺の地図が変化します。しかしながらWebサイトの更新ボタンを押した時のように、画面全体を真っ白にして情報が更新されることはありません。これはまさにAjaxだからこそ、実現できている機能です。そんなAjaxの技術を支えるものこそ、JavaScript(ジャバスクリプト)なのです。
それ以外にも、JavaScript(ジャバスクリプト)の存在感を増した要因を挙げるとすれば、ライブラリ・フレームワークの拡充でしょう。当初のJavaScript(ジャバスクリプト)の致命的な問題は、moduleが使えないことでした。moduleとは、特定の処理を行う部品のようなものです。「このモジュールを使います」と一行、コードを書けば、そのモジュールに書かれた様々な処理を利用することができます。そうすると、毎回イチから開発する必要がなくなり、開発効率も高くなります。
CommonJSというJavaScript(ジャバスクリプト)の仕様ができて以来、その仕様に従って『Node.js』という、サーバサイドで使うJavaScript(ジャバスクリプト)環境ができました。そのほかjQueryといったライブラリや、ReactというFacebook社製のフレームワークができたりと、開発効率を上げる様々なものが開発されました。
今となってはブラウザだけでなく、サーバーサイドの開発も一手に担えるようになったJavaScript(ジャバスクリプト)。その言語が活用される領域は広く、JavaScript(ジャバスクリプト)プログラマの需要は衰えることを知りません。数あるプログラミング言語の中でも、JavaScript(ジャバスクリプト)の求人数は、常にトップ10にランクインしています。
我々が普段からよく利用するインターネットなだけに、身近なところでJavaScript(ジャバスクリプト)は多く利用されています。例えば、削除ボタンを押した後に「本当に削除しますか」といったポップアップウィンドウが表示されたり、プルダウンを選択すると自動的にソートがかけられるのも、JavaScript(ジャバスクリプト)が存在しているおかげ。
書いたコードが、視覚的にわかりやすい結果につながることから、いざ学習するとその面白さに魅了される人も多いはず。気になる方はチェックしてみてはいかがですか?
3つの質問に答えるだけで、フリーランスエンジニアとしての単価相場を算出します。 スキルやご経験にマッチする案件もあわせてご紹介いたしますので、気軽にご活用ください! ※単価相場の算出に個人情報の回答は必要ございません。