十数年前,オブジェクト指向プログラミングが注目されはじめ,勉強したのだがその効用がよくわからず挫折したままであった.しかし,最近は,数値演算用プログラミングにもオブジェクト指向の考えが反映されはじめており,わかりやすい入門書を探していた.そこで第1版の評判の良かった本書(第2版)を読んでみることにした.
本書は何故オブジェクト指向が必要なのか丁寧に説明している.本書の基本的な考えは「オブジェクト指向プログラミングは難しいソフトウェア開発を楽にするための総合技術である」ということである.オブジェクト指向プログラミングは従来技術の延長というスタンスで説明を行っているため,構造化プログラミングで教育を受けた者でも「カプセル化,継承,ポリモーフィズム」の仕組みと利用方法が理解しやすかった.また,これからプログラミングを学ぶ人にとっても良い教科書になるだろう.
全体の章だてもよく練られており,文章や図表を使った説明もわかりやすい.また,章末の参考文献は深く学びたい人に有益であろう.
なお,オブジェクト指向言語ではないが13章で関数型言語が解説されている.関数型言語も「ソフトウェア開発を楽にするための総合技術」である.言語間の違いが述べられており,emacs を使いながらいつまでたっても Lisp がよく理解できない理由が少しわかったような気がした.