上京エンジニアの葛藤

都会に染まる日々

オブジェクト指向でなぜつくるのかを読んだ

皆さんはオブジェクト指向を理解していますか?

実は僕はオブジェクト指向についてこの手の書籍などで学んだことがなく、なんとなくでオブジェクト指向を意識したコードを書いていました。

そんな時、前から気になっていたこの本がブックオフで売られていて速攻買って読んだので、感想文を書きます。

概要

内容はタイトル通りです。
Why がしっかり言語化されているので、今まで断片的にだった知識が整理されて納得感を得ることができました。

書籍内でのコードは Java で書かれていますが難しいことはしていないので、プログラミング経験があればスラスラ理解ができるかと思います。
一方、プログラミング未経験の方は難しいと思うので、一度簡単なアプリケーションでも作ってからの方がいいです。

また、書籍のボリュームも300ページ弱なのでやや分厚いですが、フォントが大きく、頻繁に図解もあるので気負いすることなく読めると思います。

「皆、オブジェクト指向オブジェクト指向ってよく言うけど、なんでオブジェクト指向をこんな推してくるのかふわっとしかわかんねーわ」 って人にとっては良い本だと思います。

印象に残った箇所

オブジェクト指向の概念が存在しなかった時代との歴史的な比較により、具体的にどのようなことが改善されたかがまとめられていてイメージがしやすく、面白かったです。

ネット上でいくつか記事を読んだりしている時に、同じような意味合いで違う単語が使われていて、あれ?〇〇と△△は同じ意味??? みたいに頭がこんがらがることが多く、書籍内で扱う クラス, インスタンス, オブジェクト, ポリモーフィズム などの専門的な用語に関して、すごく慎重に言葉選びがされ、似たニュアンスの言葉を使わずに意識されているところが良いです。

また特に印象に残った章は、第5章の メモリの仕組みの理解はプログラマのたしなみ でした。

僕は普段 Perl, PHP, Ruby などのスクリプト言語を書くことが多く、特段メモリ領域を意識しないといけないような処理を書いたこともなく、書いたとしても Cache をメモリに載せる程度で、あとは言語がよしなに上手くやってくれるだろうと思っていました。

なので、プログラムが実行された時のメモリ領域の使われ方も理解できておらずその辺りも噛み砕いて書かれているのが非常に良かったです。

まとめ

結論、僕みたいに なんとなくオブジェクト指向理解して意識したコード書いてるぜ って人にはオススメした一冊です。

この本を読んだからといって特別プログラミングスキルが上がるという感じはなく、記事の冒頭にも書きましたが、頭の中の断片的な知識が整理され繋がり合い、クリアになっていくような感覚を得ることができました。
ただ、実践で使うには少し弱い気がするので、色々なコードを読んだり書いたりすることで深く落とし込んでいきたいと思います。

あとはデザインパターンとかの本が結構推されたので、時間見つけて読みたいと思います。