歴史を学ぶと「強み」が分かる本書によれば、【オブジェクト指向の3大要素】は、「クラス」「ポリモーフィズム」「継承」で、【進化したオブジェクト指向の仕組み】が「パッケージ」「例外」「ガベージコレクション」の3つ、です。オブジェクト指向は、これまでのプログラミング技術の発展の中で生み出された技術ですが、僕がシステム開発に関わるようになったとき、既にこれらは当たり前になっていました。ひよこプログラマだった僕は、「とりあえずクラスを定義してインスタンスを生成しとけばいいんでしょ。プログラミングってそういうもんでしょ」くらいに捉えていました。オブジェクト指向の「ありがたみ」や「意義」がいまいちピンとこない。オブジェクト指向でつくらなければならないのか。ポリモーフィズムだの、継承だの、わけわかんない用語を覚えて使いこなさないといけないのか。オブジェクト指向の仕組みを使ったときと使わないときとで何が違うのか。本書では、なぜオブジェクト指向が生まれたのか、その歴史と経緯を教えてくれます。「いまさら歴史を知ったところで何になるの?」と最初は思ってましたが、技術の歴史を知ることで、「オブジェクト指向の強みや特徴」の理解が深まります。理想は実際に古い技術を使ってみることですが、時間がかかります。本なら、短時間で歴史を学ぶことができてコスパが良いですね。実際、本書を読んでからコードの見え方が変わりました。いま携わっているプロジェクトは、レガシーコードもりもりなので、「ここは継承を使えばもっとよくなるなー」と、改善点が目につくようになりました。過去に自分が書いたコードも(汗)オブジェクト指向の実践本ではない本書はオブジェクト指向の実践的な知識を与えてくれるものではないので注意です。オブジェクト指向そのものについては、3大要素+進化したオブジェクト指向の仕組みの紹介くらいだし、サンプルコードもありません。「保守性や再利用性を高める設計は、重複を排除する、部品の独立性を高める、依存関係を循環させない」と設計に関する簡単なアドバイスはありましたが、その具体例は示されていません。実践的な知識を得るなら、『オブジェクト指向設計実践ガイド』がおすすめです。最後に、簡単にオブジェクト指向が誕生するまでのプログラミング言語の歴史を書いて終わります。返しの3つの構造だけで表現する構造化言語(C言語など)の登場。