「『オブジェクト指向でなぜつくるのか(第2版)』(平澤章)」
コンピュータ・インターネット
『オブジェクト指向でなぜつくるのか(第2版)』
平澤 章(著)
2011年
日経BP社
☆☆☆☆
読み物としての「オブジェクト指向」入門。2004年に初版が刊行された本の第2版。Java等のオブジェクト指向プログラミング言語を学んでいる途中の初心者向けか。サブタイトルは「知っておきたいOOP、設計、関数型言語の基礎知識」。
全13章構成。内容は大きく2部に分かれており、全体のイントロダクション(第1章)の後、前半(第2〜6章)では、プログラミング技術としてのオブジェクト指向の機能やその実現方法について、後半(第7〜11章)では、オブジェクト指向の応用技術(UML、分析、設計、開発プロセス)について取り上げている。この第2版では、最後にオマケとして第13章「関数型言語でなぜつくるのか」が追加されている(Haskellを題材に、関数型言語の特徴について解説している。ただし、本書全体の内容からするとやや外れている)。
プログラミング関連書籍としてはやや小さめの判型で、厚手の紙を使っているため厚みはあるが(365ページ)、行間が広めであるためか(文字も小さくはない)比較的スイスイ読み進んでいける。各章のテーマに即して参考図書も紹介されている(日本人著者による本が多い)。
最初からこの本を読めば良かった…、という印象。「オブジェクト指向はなぜわかりにくいのか」というタイトルが相応しいような、そんな内容。「オブジェクト指向」と名のつく技術は多岐に渡るが、単にそれらを俯瞰するだけでなく、相互関係を整理して示してくれる。各章の記述も、ある技術の本質をズバリと一言で表現するなど解説自体も的確だが、何かを説明してそれで終わりではなく、章の締めくくりとして必ず「だから何なのか」について一言付け加えてくれるのが有り難い。
著者のスタンスは、「『プログラミング技術』としてのオブジェクト指向と『汎用の整理術』としてのオブジェクト指向は別もの」というもの(コラム「言語が先か、コンセプトが先か」(199〜200ページ)に著者の立場(考え方)がよくあらわれている)。この2つを一緒くたにしてしまうことが、オブジェクト指向にまつわる多くの誤解、混乱、分かりにくさを誘発していると考えているようだ。
おそらく初版執筆時のモチベーションとして、「オブジェクト指向では、現実の世界をそのまま実現できる」というような表現を文字通りに受け取ってしまうことによる弊害を是正する、というものがかなり強くあったのだと思う。第2版では批判的なトーンはだいぶ弱められているそうだが、それでも「オブジェクト指向の世界と現実の世界は似て非なる世界」と繰り返し強調されやや鼻についた。初版のコンセプトは第2版でも引き継がれているが、初版刊行からの7年の間に(世の中の方が変わり)本書のコンセプトが微妙に的外れになってしまったのではないだろうか。著者も一から新しい本を書くとしたら、こういうコンセプトにはしなかっただろうと思う。
正誤表等は、出版社ではなくて著者の
個人ページに掲載されている(Haskellを取り上げた第13章で最終的にはボツになってしまった文章も掲載されている)。
本文340ページ程度(他に、まえがき、あとがき、索引、等、20ページ程度)。

0