« SQL を実行時毎に組み立てなければならないとき | トップページ | 日本の IT 産業はオープンになれなかった »

2009年12月16日 (水)

オブジェクト指向分析設計は万能薬なのか

業務システムにオブジェクト指向は要らん発言とか。

企業の業務システム、といっても色々あるわけですけど、一般にその言葉が指していると思われる、販売管理、在庫管理、会計、といったシステムについて考えるとして。オブジェクト指向というのは、本当にそうした分野にフィットするものなのか、と思うのですよね。

こうした業務システムというのは、もともと企業の中を流通しているデータを扱っているわけで。そうしたデータというのは、それ自体が動作を持つものじゃなく、あくまで人間が解釈して情報として使うためにあるものだと思うわけです。例えば、「商品」、「売上」、「在庫」といったものを、オブジェクト指向のオブジェクトととらえても、それ自体に直感的に動作が付随してこない感じで、今ひとつだと思うわけです。

もともと、オブジェクト指向という概念が、シミュレーション・システムのプログラムに直感的な表現方法を与えるためのものだと考えますと。やはり、フィットする分野とフィットしない分野があるのではないですかね。

例えば、電子回路の設計、およびシミュレーションに使われている、 VHDL みたいなのは、オブジェクト指向に物凄くフィットしそう。電子回路を構成する素子というのは、それ自体が、状態と動作を持ちますから、オブジェクト指向で、直感的に表現できるものだと思うのです。

どんな技術にも、向き不向きというのはある、と思うのですよ。

以下、余談。

オブジェクト指向プログラミング言語については、一定の意味はあると思います。一番大きいのは、変数のスコープを、言語ユーザ自身で定義できるイディオムを手に入れたことじゃないですかね。

Lisp でいうところの、クロージャのような役割ですが、 クロージャと異なるのは、有限回しかスコープをネストできないこと。クロージャは再帰によって無限回ネストできますから。

この有限回しかスコープをネストさせない、というのが、オブジェクト指向プログラミング言語の本質に関わる部分なんじゃないかな。そう考えると、 Java にクロージャを持ち込むことに、 Java 言語のデザイナが頑強に反対している理由がわかるような。

|

« SQL を実行時毎に組み立てなければならないとき | トップページ | 日本の IT 産業はオープンになれなかった »

コメント

コメントを書く



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


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



トラックバック

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

この記事へのトラックバック一覧です: オブジェクト指向分析設計は万能薬なのか:

« SQL を実行時毎に組み立てなければならないとき | トップページ | 日本の IT 産業はオープンになれなかった »