« Google: イノベーションのための9箇条 | トップページ | [ review ] PyCookbook chapter1 »

2006/06/15

[ Programming ] OOP、それは道具の一つ

脱オブジェクト指向のススメを読んで思ったことを書いてみようと思う。まずはわたしが OOP をどうとらえているか。それはタイトルにあるとおりだ。プログラムを開発する方法はいくつもあって、OOP はその中のひとつだと考えている。それを踏まえた上でだが、氏の主張:

「オブジェクト指向などクソの役にも立ちません!」
はいき過ぎだと思うのだ。率直に言って(以下自主規制

「周りがいう ** とやらを試しに使ってみたが、役に立たなかった。」という経験は誰にでもあると思う。しかし、一度使って役に立たなかったからといって、いきなり「こりゃ全然ダメだ。無価値だよ」と決め付けてしまうのは早すぎると思うのだ。たとえるなら、大工職人が「金槌は便利な道具だ」というから紙を切るために金槌を使ってみたが役に立たなくて「こりゃ全然役に立たないよ」と決め付けてしまうようなものだ。紙を切るならば鋏かペーパーナイフを使うべきなのだ。

「OOP を使えば、既存の問題が全部解決できる。OOP は万能薬だ。」と流布する、何でもオブジェクト指向症候群・オブジェクト指向万能主義者がいることも、使ってみたが役に立たなかったという経験を増加させる一因だろう。

日曜大工、料理、あるいは学校の図画工作を思い出してほしい。きっと用途に合わせて道具を使い分けているはずだ。用途に合わせて適切な道具を使用すれば、その道具の効果がとても実感できる。プログラミングでもそれは同じではないだろうか?OOP を全否定している人も、何でも OOP 症候群の人も、「OOP は複数ある道具の中のひとつ」という視点に立ってみてはいかがだろう?そして「経験を積む」ことは、「ケースにあった道具とその使い方」を学ぶことではないだろうか?

|

« Google: イノベーションのための9箇条 | トップページ | [ review ] PyCookbook chapter1 »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/103108/10531944

この記事へのトラックバック一覧です: [ Programming ] OOP、それは道具の一つ:

« Google: イノベーションのための9箇条 | トップページ | [ review ] PyCookbook chapter1 »