『Implementation Patterns』はKent Beck待望の新刊。目次を見ると『ケント・ベックのSmalltalkベストプラクティス・パターン』(「SBPP」と略すとツウっぽい)のJava版ような感じだが、実際にそうだった。 ひとことで言えば「21世紀のSBPP」。しかも『Extreme Programming Explaind 2nd Edtion』級の読みやすさ。21世紀のSBPPなので、当然だが薄い(実質150ページぐらい)。Kent Beckの指示によれば「とりあえず5章(p.21)から最後まで斜め読みしたあとはコードを書いて、それから頭から読み返せ」とあったので、いま斜め読みを終えたところ。

後半に向かってだんだん粘っこくなってくるのがイイ。第8章のMethodと第9章のCollectionが(ここでも)目玉。最後の仕上げはMoneyではなくてフレームワークの拡張に本書の思考を当てはめるというもの。そして付録としてパフォーマンスをCollectionで実装を差し替えることを例に説明。参考文献は、いつも通りな感じ(ちなみに純粋なJavaの書籍は3冊だけ)。

KentBの言葉によれば、本書は:

コーディングスタイルの書籍ではない

設計の書籍ではない

いわゆる「パターン」の書籍ではない

言語(Java)の書籍ではない

とのこと。本書は:

「良いコードは重要だ」ということを語る書籍だ

そして、責任(responsibility)についての書籍だ

だという。与えられた時間、能力、金額、機会。これら("gifts")を使って、自分と自分以外の開発者、そして相棒たるCPUにとって良いコードを書くのはプログラマの責任なんだ。

偉大な書籍は偉大な一行からはじまるわけで、ここでも偉大な書籍の一行目を引いておきたい。

This is a book about programming——specifically, about programming so other people can understand your code.

(本書はプログラミングの書籍だ——具体的には、他人があなたのコードを理解できるようにプログラミングするための書籍だ。)

「SBPP」がそうであったように、本書もJavaプログラマのためだけの書籍ではない。Rubyistも読むといいと思った。で、私の次なるステップは、本書の内容についてよく考えるためにコードを書かねばならぬわけだがーーおっと、こんな時間に誰かが来たみたいだ。