2007-11-20(Tue) [長年日記]
■1 "this is a book about responsibility." (『Implementation Patterns』 )
『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も読むといいと思った。で、私の次なるステップは、本書の内容についてよく考えるためにコードを書かねばならぬわけだがーーおっと、こんな時間に誰かが来たみたいだ。