« ウォーターフォールとXP | トップページ | 「どこかに、逃げ込んでいないか」のコメント »

2006年8月20日 (日)

オブジェクト指向は「進歩」なのか

オブジェクト指向プログラミング(OOP)が広く使われるようになり、オブジェクト指向が、ソフトウエア開発の「銀の弾丸」である、といった、普及当初の過剰宣伝気味の論調から、最近は、オブジェクト指向は本当に必要なのか、といった疑問の論調も出てきているようです。

OOPを使ったからといって、ソフトウエア開発の様々な問題が解決できるわけではありませんし、逆にOOPを使わなくとも、解決できることもあるかと思います。OOPがプログラミングに新たな概念を持ち込んだことで、かえって、問題を複雑にしている、という見方も出来るかもしれませんね。

私はOOPというものは、理論的・原理的に導き出されたものではなく、開発現場の要請から生まれてきたものだと思っています(OOPを嫌うプログラミング理論の研究者がいるのはその証左かと)。結局のところ、これはソフトウエアのモジュール化の延長線にある、と思います。

OOPによって、ソフトウエアのモジュール化をより高度な形で行えるため、ソフトウエアの「分割」を、より自然な形で行えるようになったのではないでしょうか。従来の手続き型プログラミングで起こりがちだった、プロジェクト・チームのメンバー構成にあわせ、「作業単位」によってソフトウエアをモジュールに分割する、という不自然なことをやらずにすむようになったのではないでしょうか。

ソフトウエアそのものの論理的構造に基づいて、ソフトウエアを自然な形でモジュールに分割し、そして各モジュールを、プロジェクト・メンバーの作業単位として割り当てることができる。これが、OOPのもたらした「進歩」のひとつであろうと思います。

---

脱オブジェクト指向のススメ - 雇われIT社長の乱心ブログ [ITmedia オルタナティブ・ブログ]

この記事を考えたきっかけです。

---

C++の設計と進化 Book C++の設計と進化

著者:エピステーメ,ビョーン ストラウストラップ
販売元:ソフトバンククリエイティブ
Amazon.co.jpで詳細を確認する

私が初めてオブジェクト指向の勉強をしたのは、Bjarne Stroustrupの、「プログラミング言語C++」によってでした。C++言語は、現在に至るまでの、「オブジェクト指向ムーブメント」の「原点」なのですよね。きっと。 

|

« ウォーターフォールとXP | トップページ | 「どこかに、逃げ込んでいないか」のコメント »

コメント

コメントを書く



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


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



« ウォーターフォールとXP | トップページ | 「どこかに、逃げ込んでいないか」のコメント »