15/03/29 04:59:26.27 cdWN88+3.net
構造化プログラミングからオブジェクト指向への進化 - MONOist(モノイスト)
大論争の末、構造化プログラミングの定義は以下のようになりました。
(1)構造化プログラミングとは、書きやすく、理解しやすいプログラミングのことである。
(2)ソース・コードが、の4つの構造を持ったブロックだけで構成され、各ブロックのEntryとExitが1つしかない場合、構造化プログラミングという。
(3)構造化プログラミングは、goto文をなるべく使用せずにプログラミングすることである。
構造化プログラミングからオブジェクト指向へ
制御構造に制限を設けて、コントロールの流れをきれいにしたのが構造化プログラミングであり、
さらに、データ構造に制限を設けて、構造化プログラミングの欠点であった「グローバル変数の弊害」を是正して、再利用性を向上させたのがオブジェクト指向プログラミングといえます。
こう書くと簡単に聞こえますが、このようなプログラミング方式の進化過程を理解せず、制御指向プログラミングでしか設計してこなかった旧世代のソフトウェア開発者にとって、
設計パラダイムが大きく異なるオブジェクト指向を理解することは、簡単ではありません。
構造化プログラミングにはない「クラス」「継承」「ポリモーフィズム」を言葉では分かっていても、なぜ、それが必要なのかを理解するのは困難ですし、オブジェクト指向の長所を生かした設計はなかなか難しいといえるでしょう。
プログラミング方式の進化は、「処理効率・性能」重視から「保守性・理解容易性」重視へと向かう歴史といえます。
URLリンク(monoist.atmarkit.co.jp)