クラスの基本から本質が分かる
私は専門学校で講師もしていますが、そのC++の講義で実際に使っているのが本書です。
といっても私が選んだわけではなく学校指定のテキストだったので、最初は疑り深く眺めてました。
すみません、とても良い本でした。
著者である矢沢久雄氏の書籍は本サイトでもよく取り上げていますが、これは一二を争う出来かもしれません(理由は後述)。
読みやすさがスゴイ
内容は構造体とクラスの違いから始まり、オブジェクト指向の三本柱(カプセル化、継承、多態)、動的なオブジェクト操作へと入って行きます。
大きな特徴としてバランス良くコンパクトにまとめているので挫折しにくくなってます。
だからC言語やJavaなど他言語の経験者なら、すんなり頭に入って来ます。
また、クラスに慣れない人向けに「現実世界の例」を使ってイメージを助け、C++のソースは最小限に抑えられています。
実行結果も全て載っているので、電車の中やリビングでも学べる便利な一冊だと思います。
息抜き?のコラムもかなりキレが良いです。
ちょっとC++から距離を置いて客観的に内容を眺めるのに役立ちます。
意図してか偶然かは分かりませんが巧妙な構成になってます。
プログラミングの本質とは
そして何より、全編を通じて著者のメッセージを強く感じました。
- オブジェクト指向は道具であり目的ではない それを取り違えるな
- 各機能のメリットを理解し、必要ならば使おう 不要なら使わないのもアリだ
これらはまさしくその通りだと思います。
オブジェクト指向やデザインパターンを使っているつもりで、実は逆に使われているプログラムを私も多く目撃してきました。
だから、その大切さはとてもよく分かります。
まず大事なのは、プログラムを取り巻くリソースを把握しすること。
その上で設計を検討しなければ、オブジェクト指向が机上の空論になってしまいます。
そんなわけで本書は、C++やオブジェクト指向と共にプログラミングの本質(言い過ぎかな?)も学べる大変お得な一冊です。
それゆえに入門書ながら、中級以上の方が読んでも得るものが大きいと思います。
実際にカオスソースと格闘した経験があれば、実感が溢れるほど湧いてきますよ…