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も読むといいと思った。で、私の次なるステップは、本書の内容についてよく考えるためにコードを書かねばならぬわけだがーーおっと、こんな時間に誰かが来たみたいだ。
リーン開発の現場 カンバンによる大規模プロジェクトの運営(Henrik Kniberg/角谷 信太郎/市谷 聡啓/藤原 大)
『なるほどUnixプロセス ― Rubyで学ぶUnixの基礎』
SCRUM BOOT CAMP THE BOOK(西村 直人/永瀬 美穂/吉羽 龍太郎)
実践テスト駆動開発 テストに導かれてオブジェクト指向ソフトウェアを育てる(Steve Freeman/Nat Pryce/和智 右桂/高木 正弘)
The RSpec Book (Professional Ruby Series)(David Chelimsky/Dave Astels/Zach Dennis/角谷 信太郎/豊田 祐司/株式会社クイープ)
アジャイルサムライ−達人開発者への道−(Jonathan Rasmusson/西村 直人/角谷 信太郎/近藤 修平/角掛 拓未)
アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~(Mike Cohn/マイク コーン/安井 力/角谷 信太郎)
インターフェイス指向設計 ―アジャイル手法によるオブジェクト指向設計の実践(Ken Pugh/角谷 信太郎(監訳)/児島 修)
アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣(Venkat Subramaniam/Andy Hunt/木下 史彦/角谷 信太郎)
JavaからRubyへ ―マネージャのための実践移行ガイド(Bruce A. Tate/角谷 信太郎)









