「モダン Perl 入門」 を読みました

モダンPerl入門 (CodeZine BOOKS)
4798119172

今回は前回のポストの際に触れた「モダン Perl 入門」についてです。
そういえば、昨日まで YAPC::Asia が開催されていましたね。私は別のイベントに行ったため参加出来ませんでした。

内容としては Moose や、 DBIx など、現代的なオブジェクト指向を可能にするCPANモジュールからウェブアプリケーションフレームワークPerl における自動テストの方法、XSモジュールの扱い方となっており、少なくとも Perl 初学者の方が読む内容ではなく、より発展的な内容となっています。

Moose などの使い方や Perl の自動テストについての記述というのは他の本にはほとんどありません。続・初めての Perl 改訂版 実用 Perl プログラミング に少し記述があるくらいで、かつ、ウェブ上にもマニュアルが整っているわけでもなく、はっきり言ってひどい状態です。英語では Perl Testing: A Developer's Notebook という本があり、これが和訳されていればとてもオススメできる内容なのですが…

そのような情勢の中、日本語で読める一番まとまった Perl での自動テストの解説は本書になると思います。これだけでも買う価値がありますね。

XS モジュールの日本語解説など、そのほかの内容も「この本にしかない」という情報が盛りだくさんなので、現代的な Perl 開発者必携と言っても間違いでないと思います。

ただ、内容はすごく良いのですが、本としてのクオリティーには疑問が残ります。気になったのは以下のような部分です。

  • 前述、後述が多用されすぎている。何度も使わなければいけないのは、文章構成に問題があると言うことである。前述は先に説明しているので戻れば良く、まだ読者に強いる負担は少ないが、多いのは後述であるのがさらに問題。読者は後述であるとされた内容を覚えつつ先に読み進めねばならない。
  • 単純に日本語としておかしい記述が散見される。例えば、前に先導するものがないのに後ろに続く接続詞「~も」を用いるといったような文章。(「あれが欲しい。あとこれも」の「も」)
  • 急に前提とされていないものを持ち出して説明する。XS入門で、C言語の基礎知識は前提となっているものの、XSマクロを説明もなしに次々出すなど。
  • 例示ソースコードに一貫性がない。前の章では @ISA を紹介し、これを使うのだと説明しているのに後の章では use base qw(~) していたりする。
  • テストの章で開発時に繰り返すにはわざわざ不便な make してしかテストしないと書いたのに後の章ではテストの実行により便利な prove を例に用いている。最初から prove で開発するよう記述し、make の方をコラムのように紹介すれば良かったのではないか。
  • 誤字が目立つ。

校正する人がいなかったのかとか、執筆スケジュールが一杯一杯だったのかなとか思うことはありますが、本書の残念な点を上げました。

ただ、これらを差し引いても、本書の内容は本書にしかないというような内容なので、必ず読むべき本であるというのは間違いありません。