読書メモ

・「オブジェクト指向狂詩曲
(吉田弘一郎:著、\1,845、技術評論社) : 2004.04.02

内容と感想:
 
「TURBO C++/BORLAND C++による〜」と小さく題に付いている。要はオブジェクト指向プログラミング言語としてのC++を語った本である。表紙帯の「C++はオブジェクト指向を学習するためには最悪の言語」と著者が書いているのはふるっている。じゃあ、C++を扱き下ろす本かというと、そうでもない。出版社からオブジェクト指向とC++をテーマに書いて欲しいと依頼されたが著者としては、オブジェクト指向を批判するつもりはないが、C++はちょっとねー、と複雑な背景があったようだ。という事情で本書はオブジェクト指向の概念を理解するための第一歩、という視点で書かれているとだけは言える。まずはオブジェクト指向が登場した歴史的基盤と社会的要請について語り、オブジェクト指向の必要性を説き、徐々にC++でのプログラミング例で具体的な用法が示される。本書が出たのは平成4年であるから既に10年以上経過しているのだが、オブジェクト指向の概念自体は今も変わっているわけではない。

-目次-
序章 オブジェクト指向の時代
第1章 オブジェクト指向をとりまく世界
第2章 オブジェクト指向への道
第3章 オブジェクト指向プログラミングの基礎概念
第4章 オブジェクト指向プログラミングの向こうに

 著者がC++はオブジェクト指向プログラミング言語としては駄目だと言っている理由は、C++がフレクシブル過ぎるかららしい。C++はベースはC言語であるから、オブジェクト指向を取り込むに当たって仕様が拡張されている。その独自の拡張(overloadやfriendなど)がよく言えば柔軟、悪く言えば、いい加減・曖昧となり、「better C」(Cよりちょっと良い)に過ぎない、と過激な論調になる。オブジェクト指向を理解しないでC++を誤った使い方をすると危ないと言いたいのだ。このような不純?なC++に対して、純なオブジェクト指向プログラミング言語として著者が対比させているのが、SmalltalkやEiffelといった言語なのだが、個人的にはそれらを使用したことがないから、著者の主張が正しいのかはよく分からない。

更新日: 04/04/08