2000/07/08
オブジェクト指向言語の話2
昨日は構造化言語が「同じような動作でもアプリケーションごとに全然別のコードを書かなければならない」ために、使えなくなってきた、では、どうすればいいのでしょうという話で終わりました。「同じような動作ならアプリケーションごとに全然別のコードを書く必要はない」言語があればいいというのが答えです。
なんだそれは、と思われるかも知れませんが、実に簡単なことなのです。ただコロンブスの卵のように誰も思いつかなかっただけです。何故なら、CUIではそんな言語は必要無かったのですから。必要は発明の母です。たまたまそこにオブジェクト指向方法論という、「再利用性」に長けた手法がありました。これを利用しない手はありません。そういうわけでオブジェクト指向言語が誕生しました(実際の誕生は1995年よりも遥かに前ですが、主流になったのはWin95発売の後からです)。オブジェクト指向言語が主流になったのにはそういう背景があったからなのです。オブジェクトの特徴としてやれカプセル化だ、多態性だ、などと能書きはたくさんありますが、本質的には「再利用性が高いこと」が重要なのです。オブジェクト指向方法論は数多くあります(私がマスターしたのはOMT法ですが、これもオブジェクト指向方法論の一種にすぎません)が、オブジェクト指向言語はその中の「再利用性が高い」部分だけを抽出して作られた言語です。オブジェクト指向方法論なんて偉そうに言っていますが、所詮言語レベルに落ちるときに重要なのは「再利用性」に過ぎません。こういうオブジェクトを作れば何度でも使えるとか、応用が利くと思うものをオブジェクトとして切り出し、細かいことは派生させればいいのです。難しく考えることはありません。言ってみれば最大公約数を求めるだけです。
このことを知らずにオブジェクトを作ると、使う機会の少ない、多機能(最小公倍数)を持つオブジェクトを作ってしまい、結局その機能のほとんどは使われないなんてどうしょうもない設計になってしまいます。でも、そういう設計のほうが多いのが現状なんですよね。


 

Topへ