JavaScriptの入門書


私は10年前にはJavaScriptがここまでシェアを拡大するとは思わなかった。


まず型がないのが気持ち悪かった。宣言なしに変数が使えるのも気持ち悪いし、配列も普通の配列ではなく実体は連想配列になっているのもありえないと思った。


IE4で搭載されていたJavaScriptはバグだらけで、while文のなかでcontinueをするとwhileの脱出条件をチェックせずにwhileの先頭に戻るというとんでもない実装になっており、型変換などNavigater3,4と実装が異なっていて、何が何だかさっぱりわからない状況だった。


ついでに言えばJavaScript1.0の配列はプロパティと配列要素が別個のものではなく実際にはお互いに上書きし合うことが可能だった。

p = new Object();
p.name = "david"; // p.name == p[0] == "david"
p[0] = "frank"; // p.name == "frank"になる。


これは明らかな設計ミスである。JavaScriptを設計した奴は言語設計に関してド素人だと言わざるを得ない。私はその当時、JavaScriptを作ってる奴は「頭おかしい」と思った。情報学科の大学生ですら、もっとマシな仕様を策定して、もっとマシな実装をしただろう。


JavaScript 第5版
JavaScript 第5版
posted with amazlet at 08.12.02
David Flanagan
オライリー・ジャパン
売り上げランキング: 6875
おすすめ度の平均: 4.5
5 買って良かった
4 多少冗長な感じがします
5 翻訳が上手です
4 文書が多くサンプルコードが少ない本です

少なくともブラウザに標準的に搭載されるべきシロモノにはほど遠い存在だった。こんなものは速攻廃れると思った。マウスをボタンにhoverさせたときにボタンの画像を変える用途以上には使えないと思った。


読者のなかには、私に先見の明が無かったことを批判される方がおられるだろうし、その批判については甘受させていただくとしても、こんなどうしようもない言語がその後、数あるブラウザがこぞって標準搭載するスタンダードな唯一のスクリプト言語になるとは、あの時点ではとても思えなかったのだ。私に限らず、コンパイラの制作や俺言語の言語デザインをしたことがある者ならば誰もがJavaScriptを鼻であしらったはずだ。


しかし、いまや、ブラウザに最初からJavaScriptのエンジンが搭載されている。それも各ベンダーがJavaScriptの実行速度を少しでも速くしようとしのぎを削っている。Flashがブラウザに標準搭載されるようになるのはまだまだ先だろうが、JavaScriptならば必ず搭載されている。


それもかなりの確率でJavaScriptはディフォルトで「有効」になっている。これは画期的なことだ。そして、Scriptタグでの言語指定を省略すれば、それはJavaScriptを意味するというところまで暗黙の了解となっている。


こんなどうしようもない言語がもはやブラウザ標準なのだ。Ajaxの台頭によってその地位はますます不動のものになった。Webデザイナーが覚えるべきは、html,cssの次にJavaScriptなのだ。


普通の(C#Javaを使っている)プログラマにとって、JavaScriptは何も難しい言語じゃない。しかし、JavaScriptに関する網羅的な情報を日本語で提供しているサイトはとても少ない。…というか、たぶんない。


私が思うにJavaScriptを最速でマスターするには、左の本、一択だと思う。この本は、JavaScript創始者であるNetscape社のBrendan Eich氏(現在は、Mozilla CorporationのCTO)にレビューしてもらってあるし、IEJavaScriptのバグについてもかなり詳しく書かれている。この本と同じだけの情報がまとまっているサイトなんて世界中のどこにも存在しないだろう。この本は、Webプログラマなら、迷わず買うべきものだ。


私としては、JavaScriptにはあまり乗り気ではなかったが、いまや使わざるを得ないと感じている。私にとって忌むべきPerlPHPに関しては、ASP.NET 3.5の出現によって、完全にスルーすることが出来るのでラッキー!と言ったところだが、JavaScriptだけは避けて通れそうにもない。