プログラミングの学習をしていた2年ほど前から積読されていた『オブジェクト指向でなぜつくるのか』をようやく読んだので簡単な感想を書いていきます。
オブジェクト指向が生まれた背景や、特徴を知ることができる
本書は、オブジェクト指向が生まれた歴史的背景を説明しています。
オブジェクト指向が生まれてから普及するまでに時間がかかった理由やオブジェクト指向が生まれた必然性(当初は実行効率が命だったが、ハードウェアの進歩によって再利用性等が重視されるようになった)はとても興味深い内容でした。
メモリの使い方を学べる
5章では、オブジェクト指向の言語がメモリでどのように管理されているかについて記載されています。
Javaを例に、クラスやメソッド情報は静的領域に、インスタンスはヒープ領域に確保されることなど、意識しきれていなかったメモリの使われ方について図で説明されているのも理解しやすかったです。
TDDやアジャイル等とオブジェクト指向との関係の話
読んでいて、「そういえばそうか〜」となったのは、TDDやオブジェクト指向との親和性の話です。
リファクタリングは既存の動いているコードに手を加えるということなので、影響範囲がどこまで広いかわからないコードではバグを生む可能性が高くなり、難しいですが、オブジェクト指向の特徴である凝集性や疎結合であるプログラミングだからこそ、リファクタリングを行うことができ、TDDのサイクルが効率よく回ります。TDDとオブジェクト指向をそういう目線で見たことがなかったので新鮮でした。
さいごに
オブジェクト指向の特徴などは復習という感じでしたが、上記のような箇所で学びが多くておもしろかったです。