訳者まえがき
私はJavaScriptが大好きです。なんといっても簡単に面白いことができるというのが素晴らしい。広く普及した言語としては、今のところ、見栄えのするプログラムがもっとも簡単に作れるプログラミング言語ではないでしょうか。
JavaScriptが登場する少し前まで、見栄えのするプログラムを作れるようになるには、とてもたくさんのことを覚えなければなりませんでした。自前のウィンドウを表示して、メッセージを表示するだけでも大変でした。しかし、コンピュータの処理速度は飛躍的に上がり、またソフトウェアに関する研究も進みました。その結果、インターネットが登場し、ウェブブラウザが作られ、ブラウザの上で動くJavaScriptのような言語が考案され、おもしろいことが(以前に比べたら)とても簡単に実現できるようになりました。新しいウィンドウを開いてメッセージを表示する方法を覚えるのには、10分もかからないでしょう。数週間みっちり勉強すれば、かなりハイレベルなプログラムを作れるようになるはずです。
この言語に出会ってからは「プログラミングを学ぶならばJavaScriptから始めるべし」とずっと思ってきました。とても取っつきやすい言語なのです。もし、他のプログラミング言語をご存じなら、学習を始めたその日のうちに新しいプログラムを書き始めることができるはずです。
簡単で取っつきやすい言語ならば大したことはできないのでは、と思う方もいらっしゃるでしょう。ところが、そうではありません。JavaScriptはとても奥が深い言語でもあるのです。オブジェクト指向と呼ばれる現在主流のプログラミング手法を使った開発に対応していますし、Ajax(エイジャックス)という技術を使い、これに対応するサーバ側のソフトウェアを用意すれば、ワープロや表計算、地図情報の表示など、従来はパソコンに専用ソフトをインストールしなければ使えなかったような高機能の実現も可能です。
この『初めてのJavaScript』は、JavaScriptの「簡単で取っつきやすい」という側面と「それでいて奥が深い」という側面の両方を大変うまく紹介してくれている本だと思います。HTMLやCSSの知識を前提としていますし、よくあるプログラミングの入門書のように図をふんだんに使って、手取り足取り教えてくれるわけではありません。しかし、オライリーの本らしく、中味がぎっしり詰まっています。プログラム例をよく読み、実際にブラウザで実行しながら読み進めれば自然にJavaScriptの基本が身に付くようになっているのです。
JavaScript初心者の方はもちろん、「自分のウェブサイトで利用はしているが、もう少し詳しく知りたい」「Ajaxなどの新しい知識も仕入れたい」とお考えの方にも大変役に立つと思います。私自身も以前プログラミングの初心者向けの本を執筆してから、ちょこちょこと使うぐらいでそれほど深く新しい機能に付き合ってきたわけではありませんでしたので、今回の翻訳で例を試しながら訳出していくことで、いろいろと新しい知識を仕入れることができました。とくに後半の章には私にとっても面白い例がたくさん出てきて、楽しみながら訳出することができました。読んでいて思いついたアイディアを使って、自分が管理しているサイトに機能を追加したりもしました。
掲載された例題については、私の手で確認して、日本語の環境で動かす際などに不具合があるものについては、すべて問題がなくなるよう変更しました。また、日本の読者の皆さんに抵抗なく試していただけるよう、ごく一部の単純な例を除いて、すべての例を日本語の題材に変えました。筆者の環境では問題なく動いていますので、大丈夫だと思いますが、そのほかの内容を含め、私の記憶違いや勘違い、見逃してしまった点があるかもしれません。お気づきの点はご指摘いただければ幸いです。
紹介されている例は私が管理するこの本のサポートページで実際に動作しています。例をすべて手で入力するのは大変ですから、サポートページをご覧になって、必要な部分はコピーしてお試しください。ただし、初心者の方に一言。コピーするだけではプログラミングの力はつきません。ご自分で、いろいろと「改造」してみてください。「こうしたらもっと面白いことになりそうだ」「私の用途ではこういう機能が欲しいのだ」といじってみることで、徐々に応用力が付いてくるはずです。
まったくプログラミングが初めてという方、HTMLやCSSについてよく知らないという方には、この本だけでは少し内容が難しいかもしれません。でも、そういう方もご心配なく。私が翻訳者向けのオンライン講座で用いている『文系の人にもわかる
HTML入門』『文系の人にもわかる プログラミング入門』のテキストがインターネットで公開されています。サポートページに参考文献としてあげておきましたので、必要に応じてご覧ください。文系の翻訳者の方々に、HTMLやCSS、プログラミングとはどのようなものかを理解していただくために書いたもので、この本に必要な予備知識を得るためにはピッタリの内容だと思います。逆に見れば、私が書きたかった続編の役目をこの本が果たしてくれているとも言えそうです。
この本の翻訳では、正田順子さんをはじめとするオンライン講座の修了生の皆さんにお手伝いいただきました。また、株式会社オライリー・ジャパンの宮川直樹さん、そして株式会社チューリングの鈴木光治さんには、『Google Maps Hacks ― 地図検索サービス徹底活用テクニック』『スケーラブルWebサイト』に続き、さまざまな面でお世話になりました。皆さんに、この場をお借りして感謝いたします(ちなみに『Google Maps Hacks』にはこの本を読み終えた方にはピッタリの応用問題がたくさん載っています。よろしかったら、こちらもご覧ください)。
この本が、たくさんの面白いウェブサイトやアプリケーションが登場するきっかけになれば幸いです。
2007年4月
訳者代表 武舎広幸