『オブジェクト指向入門』を読み終えた

オブジェクト指向入門 第2版 原則・コンセプト (IT Architect’Archive クラシックモダン・コンピューティング)

』を読み終えた。

入門書とは全然違った。一つぐらいはオブジェクト指向言語を習得していて、オブジェクト指向言語とは、どうあるべきかを考えたい人向きの本である。

原題は「Object Oriented Software Construction」であり、入門とは一切書かれていない。第1版を翻訳する時に、入門と書かないと売れないとASCIIが判断したせいで、第2版も入門となってしまったのではないかと思う。

第1版が翻訳された頃は、難しい本が敬遠される時代だったのだと思う。だから、その当時はこのように題名を変更しないといけなかったのだろう。

第2版は、第1版が入門としてしまったから、入門となってしまうのだろう。

しかし、である。今は、入門書が本屋のコンピュータ書籍にあふれ返っている。逆に入門ではないと、銘打たないと本屋の棚に長く置いてもらえないのではないだろうか。

名著と言えども、次から次へと出てくる、へたくそな入門書に場所をとられ、今は新人には名著を本屋の本棚で手に取ることが難しい状態になっている。本屋の店員が、入門書と中上級者向けの本と区別しやすいように、題名をつけるべきである。

へたくそな著者は入門書しか書けないので、名著と駄作の住み分けができて良いのではないだろうか。

本屋で見かけたら、その分厚さで入門書ではない事は一目瞭然なのだが、Amazonで検索した場合、入門書は不要と思っている人には相手にされないのではないだろうか。

最近は、入門と銘打たない方が売れる傾向になるのだから、きっぱりと題名を変えた方が良かったと思う。

内容は、名著と言われるのが、ひしひしと感じられた。

仕事ではJavaを使っていて、オブジェクト指向言語や静的な型について嫌気がさしていた。しかし、それはJavaの仕様が気に入らないだけであって、オブジェクト指向や静的な型に由来する問題ではないと言うのが分かって、良かった。多重継承を使用する場合は、静的な型の方がプログラムを保守しやすそうに思えた。その為、静的な型も結構いいものだなと見直した。

この本によれば、Rubyオブジェクト指向言語ではないと言う事になるみたいだ。Rubyにはmix-inという機構があるが、このようなものよりも、本書で書かれている多重継承の方がよい言語仕様だと感じられた。

一々型を宣言するのは面倒だなと言う思いは未だに消えていない。しかし、多重継承を使いたかったら、型を宣言しなさいと言われたら、はいそうですかと頷いてしまいそう。

ただ、多重継承がなくても、マクロがあればそんなに不便でもないかも、と言う気がしないでもない。

しかし、「方法論・実践」編はいつになったら出るんだろう... この間、ジュンク堂で、第1版が未だに本棚に何冊も置いてあるのを見て、更に不安になってしまった。