「オブジェクト指向でなぜつくるのか 第2版」感想


オブジェクト指向でなぜつくるのか 第2版

評判が良さそうだったので読んでみましたので、感想等記載してみます。

オブジェクト指向でつくる理由は?

この本の題名である、「オブジェクト指向でなぜつくるのか?」という疑問に対する筆者の回答は、
冒頭に書いてあります。

ソフトウェアを楽に作りたいから

この本の構成としては、オブジェクト指向でつくると、なぜ楽になるのか、ということが
色々と書いてあります。

よくある「動物」や「乗り物」から現実的な視点へ

この本では、「動物」や「乗り物」の例や、
オブジェクト指向は、現実の世界をそのままソフトウェアに表現する
という、入門本に書いてありそうな内容を否定し、
もっと現実的なソフトウェア開発の視点でオブジェクト指向をとらえるように導いています。

プログラミング言語の歴史

オブジェクト指向にたどり着くまでのプログラミング言語の歴史として、
機械語から構造化言語までの歴史、そして構造化言語で残された問題を解決するために
オブジェクト指向が生まれてきたという流れで、オブジェクト指向が登場した理由を説明しています。

つまり、オブジェクト指向は今までのプログラミング言語の延長線上にあり、
突然変異的に表れたものではない、ということです。

オブジェクト指向=手段

この本のまとめとして記載されている通り、オブジェクト指向は目的ではなく手段です。

オブジェクト指向を勉強した人が、良い感じに設計、コーディングを行ったら、
品質が良いものが出来上がり、トータルで楽ができる、
というのがオブジェクト指向でつくる動機付けとなるはずです。

対象読者

入門本を理解して、次に読むのに良いと思います。

入門本に記載されている、
「動物」や「乗り物」の例や、
オブジェクト指向は、現実の世界を云々という記載を読んで
「オブジェクト指向の概念は理解したけど、それがどう実装に役に立つの?」
という、当然の疑問をいただいた後に読むと、少し現実の開発に近づけるのではないかと思います。

感想

全体としてオブジェクト指向の周辺を網羅的に記載しているため、
各記載はさほど深くなく、物足りなさを感じました。
(これは、僕が対象読者から外れていると思われるため仕方がないですが)
入社一年目の新人に読ませるのには丁度良いかな、という印象です。

オブジェクト指向を導入するメリットについては、もう少し深堀りして欲しかったです。

  • 工数について、設計にかける工数と、コーディング、保守にかかる工数のバランス
  • インタフェースによる再利用に関する具体例

というあたりの内容があるとより良いように思います。