2009年2月28日土曜日

オブジェクト指向は結果的に効率が悪い(?)

オブジェクト指向のメリットとして、昔から言われてきたことは、何と言ってもソフト開発効率の良さだった。
しかし、このことは、よく制限を考えないと、とんでもない思い違いとなる。

これが、かつてのSmalltalk(Smalltalk-80)のように、専用マシンの中で、パッケージされた固有のクラスライブラリのみ使うなら、ある程度はそうなのかもしれない。
現在、Javaでの開発で苦労させられるのは、クラスライブラリは何を使い、どう管理するかだ。.NET(ドットネット)では、クラスの集団である.Net Frameworkの理解が.NET の学習だと言うくらい大変である。いかに、.NETでは.NET Frameworkとしてクラスライブラリが既定で用意されているとはいえ、膨大な上、やはりかなり変化するのだ。
まして、自分でクラスを作成するとなると、最初こそ面白いが、やがて管理不能になる。
「ポリモーフィズム、継承、オーバーライドできないオブジェクト指向言語はオブジェクト指向でない」とよく言われるが、私には、そんな手法で作ったクラスなんか、作った途端に忘れてしまい、後はどうなっても知らない(笑)。

オブジェクト指向は本質的に高機能で贅沢なソフトウェアを作るためのものであり、ユーザーの要求は止まるところを知らない。
そんなものに付き合っていたら、開発者の心はやがて破綻してしまうであろう。

確かに、限度をわきまえたオブジェクト指向は便利だ。
しかし、今ではデメリットが多過ぎる。それなら、「オブジェクト指向なんていらない」と言ってしまいたい。
以前は、「オブジェクト指向って何?」って言われたら、「メモリ保護のための手法だよ」と答えていたが、こう答えられる範囲でやりたいものである。

0 件のコメント: