連載
» 2007年07月17日 00時00分 UPDATE

いまさら聞けないリッチクライアント技術(2):いまさら聞けないJavaScript入門 (3/3)

[江原顕雄,@IT]
前のページへ 1|2|3       

聞くも涙、語るも涙の(?)JavaScript史

 ここでは、JavaScriptの歴史について解説します。JavaScriptの歴史を調べていくと、まるで悲劇の主人公のような扱われ方をしています。

 なぜ、そのような事態になったのか? 見てみましょう。

悲劇1 ネーミングの変更で混乱・誤解を招く

 JavaScriptはNetscape Communications社のBrendan Eich氏によって作られました。しかし、開発当初はJavaScriptという名前でなく、LiveScriptという名前でした。これはWebページにアクションを出すためのLiveなスクリプト…… といった意味合いで名付けられました。

 しかし、当時はSun Microsystems社が「Java」という言語を開発し、非常に注目されていました。このJava人気に相乗りしようと考えたNetscape Communications社は、LiveScriptをJavaScriptという名前に変更し、1995年12月にWebブラウザNetscape Navigatorのバージョン 2に搭載してリリースしました。

 JavaとJavaScriptはまったくの別物です。が、この似たようなネーミングにより、JavaScriptはまるでJavaの別バージョンのような印象を与え、開発やユーザーに大きな混乱を招きました。現在でも、JavaとJavaScriptを混同しているユーザーも多く、Netscape Communications社の判断は大きなミスだったと思います。

悲劇2 “ブラウザ戦争”の犠牲者

 1996年にMicrosoft社のWebブラウザInternet Explorer 3.0でJavaScriptが搭載され、ますます普及をしていきます。しかし、1990年後半は、Internet Explorer(IE)とNetscape Navigator(NN)による、シェア獲得を目指す「ブラウザ戦争」の真っただ中でした。

 各Webブラウザがどんどん機能を拡張することによって、「このJavaScriptのコードは、IEでは動くけどNNでは動かない」といった事態が発生しました。このバージョンや種類によって使えたり・使えなかったりということで、「あまり使い勝手がいいプログラミング言語ではない」というイメージが生まれました。

 また、Microsoft社もJavaScriptに似たJScriptというスクリプト言語を発表し、規格もより乱立していきます。

悲劇3 「素人の言語」という偏見

 JavaScriptはあまりプログラミングの知識もなく、開発環境がそろっていなくても手軽に始めることができる言語です。

 しかし、この手軽さがあだになります。Webページをよりかっこよく見せたいユーザーが、WebページにどんどんJavaScriptを取り入れて改造をしていきました。その結果、一部のユーザーのWebページは、無駄に文字の大きさが変化したり、アイコンカーソルが蝶の画像になり、カーソルの軌跡を星がキラキラしたり、とセンスが悪くゴテゴテしたページが誕生しました。そのうえ、ページの読み込みはとても遅く、閲覧者に大きなストレスを与えました。

 その結果、一部の人たちに「JavaScriptって素人でダサいやつが使うんだろう?」という印象を持たれ、JavaScriptは敬遠されるようになりました。

悲劇4 セキュリティの脆弱性が多数発見される!

 ブラウザ戦争のときは各社ともシェア獲得に突き進むあまり、ほとんどセキュリティのことを考えずにJavaScriptはリリースされてしまいました。その結果、多数のセキュリィティホールが発見されるという事態になってしまったといえるでしょう。

 また、多数のプログラミング初心者が利用していたので、セキュリィティアナウンスがされても対処をしないユーザーも多数存在するという事態になり、クロスサイトスクリプティングやブラウザクラッシャー、ユーザー情報の奪取などにJavaScriptは利用され、その結果「JavaScriptはセキュリティ上危ない。WebブラウザのJavaScript機能は切っておこう」という意識が一部の人に生まれました。

編集部注クロスサイトスクリプティングについて詳しく知りたい読者は、セキュリティ用語事典の「クロスサイトスクリプティング」を、ブラウザクラッシャーについては「ブラウザクラッシャー」をご参照ください。

JavaScriptの復活

 Netscape Communications社は、JavaScriptの互換性問題を解決しようと、1996年にヨーロッパの情報技術規格を策定しているECMA(欧州電子計算機工業会)に、仕様を提案し標準化を目指しました。その結果、1997年6月にECMAScript(ECMA-262)という規格がリリースされました。

 互換性の問題はある程度解消され、2000年ごろからJavaScriptはAmazonやGoogleといった企業が採用をし始めました。特に、JavaScriptの通信機能を使った、WebページをリロードせずにWebサーバとデータのやりとりをする、「Ajax」技術が脚光を浴び、再びJavaScriptが表舞台に戻ってきたのでした。Ajaxの正式名称は「Asynchronous JavaScript+XML」で、JavaScriptの文字がしっかり入っています。

これからどうなる!? JavaScript

 さて、今回はJavaScriptについて超特急で見てきましたが、いかがでしたでしょうか?

 JavaScriptの手軽さ、問題点、歴史的な経緯やどんな雰囲気の言語かを理解できたと思います。一度は「過去のプログラミング」になりつつあったJavaScriptですが、現在Ajaxのブームによって再び注目を浴びています。セキュリティ上の不安や互換性といった問題は完全に解決されていませんが、手軽に試せるものなので、興味がある人は早速使ってみましょう。

 「プログラミング言語を学んでみたいけど、どの言語から学べばいいか分からない」という人には、JavaScriptはお勧めですよ。

今回の3行まとめ

  • JavaScriptはスクリプト言語でインタープリタ方式である
  • 主にWebブラウザ上で動作し、Webページをいろいろといじれる
  • JavaとJavaScriptは別物だが、JavaScriptとAjaxは関係がある

参考文献


前のページへ 1|2|3       

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。