@kyanny's blog

My thoughts, my life. Views/opinions are my own.

Book: JavaScript Ninjaの極意 ライブラリ開発のための知識とコーディング

jQuery の John Resig (とテキサス在住の白ひげのおじさん)が書いた JavaScript の中上級者向けの本。タイトルと表紙の奇抜さが気になって読んでみた。

独特すぎて評価が難しい本。独自の assert 関数を全てのサンプルコードの実行結果に使うのにはおどろいた(console.log でいいじゃん)。全体的に、一般的でない手法を採用していて異質な印象を受けた。「関数的」とか、用語も奇妙。仕事で必要なので JavaScript を習得したいという人には薦めない。高度な内容も少なくないが、そういうトピックは Effective JavaScript を読めばいい。

独特なのは意図したもののようにも感じられた。一般的なプログラミングの専門書(実用書)と比べるとセオリーに沿っていないように感じられる部分が多いが、逆に言えば「お約束」に頼っていないということ。十分な前提知識を持っていない読者にも JavaScript という言語を丁寧に説明しようとして、あえて一風変わった教え方を試みたのかもしれない(入門編にあたる章の話)。

John Resig は Khan Academy で Computer Science の学部長をつとめているそうだ。 Khan Academy はその理念からしておそらく、仕事を得るために技能を身につける職業訓練校のような性質のものではないだろう。となると John Resig の Khan Academy での仕事は、趣味や教養としてプログラミングを学ぶ人のためのものであるはずだ。そういう思想がこの本になにがしかの影響を与えた結果、ふつうのプログラミング書籍と比べて風変わりに仕上がったのかもしれない。

テクニック面では、ブラウザ検出よりも機能検出やオブジェクト検出を利用したほうが未来の変更に対して強いコードになる、という話がためになった。こういう話題こそ忍者にふさわしい。もっと踏み込んでもよかったと思う。終盤のイベント、DOM、CSSセレクタの話題はだいぶ駆け足で、やっつけ仕事な印象を受けた。 jQuery のソースコードを読む手引きにはなるかもしれない。

クセの強い本にもかかわらず、訳者はとてもよい仕事をしたと思う。訳注はたいへん丁寧で、参考文献やオンラインのリソースを細かく添えて本文を補い、補足が必要な訳語についてもしっかり解説している。 Effective JavaScript も翻訳した方らしい。この人の訳書なら名前買いしてみてもよさそうだな、と思った。

JavaScript Ninjaの極意 ライブラリ開発のための知識とコーディング (Programmers’ SELECTION)

JavaScript Ninjaの極意 ライブラリ開発のための知識とコーディング (Programmers’ SELECTION)