野生のペタシ (Le pédant sauvage)

Formerly known as 「崩壊する新建築」@はてなダイアリー

ソフトウェアデザイナ必読

昨日は快晴で、大阪では今年初の夏日を記録したそうだが、今日は打って変わって終日雨が降っており、肌寒い一日となった。
今日も休みなのだけど、いちおう世間では「平日」ということになっている。こういう日こそ出歩いて休みを満喫したいのだが、生憎の天気ということもあり、コナミスポーツで泳いだのちに整骨院へ行くという地味な過ごし方をしてしまった。


まったく話は変わる。
職業は何ですかと訊かれたら大抵の場合、会社員ですと答える。
これが英語の場合、職種を答えるのが一般的なので、Software Engineerだと言う。
その割には長いことソフトウェア関係の本を読んでおらず、まあたまにはということで「デザインパターンとともに学ぶオブジェクト指向のこころ (Software patterns series)」を読んだ。

デザインパターンとともに学ぶオブジェクト指向のこころ (Software patterns series)

デザインパターンとともに学ぶオブジェクト指向のこころ (Software patterns series)


デザインパターンと言えばGamma、Johnson、Helm、そしてVlissidesの4人組、いわゆるGang of Four(GoF)による「オブジェクト指向における再利用のためのデザインパターン」;通称「GoF本」が有名だ。これは確かにバイブル的名著だとは思うが、やはり取っ付きにくい部分があるのは否めない。一部のサンプルコードがSmalltalkなのもご勘弁願いたいところだ。
そのあたりを考慮したのか、こちらの「デザインパターンとともに学ぶオブジェクト指向のこころ (Software patterns series)」は格段に読み易い。ただ、すべてのパターンを網羅しているわけではないので、デザインパターンそのものを勉強したければ、例えば結城浩氏の「Java言語で学ぶデザインパターン入門」なんかのほうが良いかもしれない。Javaに抵抗が無ければ、だけど。
一方でこっちは、デザインパターンを道具として考えて、分析・設計をどういう考え方のもとに進めて行くべきか、みたいな話になっている。なかなかに読み応えがある。
翻訳の質も大変良いし(これってすごく大事)。個人的には、Scott Meyersの「Effective C++」に並ぶ名著じゃないかと思う。
本文中でGoF本に次いで頻繁に引用され、著者が絶賛するのが、Christopher Alexanderの「時を超えた建築の道」(原著は「The Timeless Way of Building」)。タイトル通り、ソフトウェアにはまったく関係の無い建築の本だが、「生き生きとした」街並や建物を作るための方法としての「パターン・ランゲージ」の着想についての本らしい。著者の一人であるAlan Shallowayはこれに触発されて、デザインパターンによるオブジェクト指向設計に開眼したということらしい。まったく、ある世界における一流の人というのは、異なる分野からでも何かを学び、自分のものにすることができるものなのだ。
ところでこの「Effective C++」って第3版がピアソンエデュケーションから出てるのだなあ。僕が読んだのは、アジソンウェスレイから出てる、吉川邦夫訳による第2版だ。時代の流れを感じますな。