突然ですが、構造化プログラミングとは何か気になったので、調べてみましたところ、オブジェクト指向プログラミングという言葉も出てきたので、今回はこの二つの考え方の違いをまとめてみました。
構造化プログラミングとは?
構造化プログラミングは「1969年にエドガー・ダイクストラらによって提唱されたプログラミング手法」です(wiki調べ)。
エドガー・ダイクストラさんと言えば、かの有名なダイクストラ法(グラフ上の2頂点間の最短経路を求めるアルゴリズム)を考案した偉大なる方ですね。
そもそもプログラムを作る時にソースコードが長くなればなるほど、条件分岐が増えていきますから、一つずつをフローで繋げていくと、どんどんコードが絡まっていき、何を書いているのか分からなくなってしまいます。その問題を解決するために生まれた手法が構造化プログラミング手法なのです。
先ずはプログラムの大まかな流れを記述し、それを一つずつサブルーチンという形で細かくしていき、更にそれを細かくしていく、大枠から詳細へ分解していくことで全体の流れが整理できていきます。
構造化プログラミングの3つの制御構造
構造化プログラミングにおいては、原則的に以下の3つの制御だけを使ってプログラミングが成立します。
②選択構造:条件で分岐させて、いずれからの処理を実行する
③繰り返し構造:条件が満たされるまで、同じ処理を繰り返す
このような3つの制御を利用して、構造化プログラミングは作られていきます!
では、現在の主流は構造化プログラミングなのか?というと、そうでは無く新しい手法があるのです。それが、オブジェクト指向プログラミングです!
オブジェクト指向プログラミングとは?
コンピュータ・プログラミングのパラダイムのひとつで、オブジェクト指向の概念や手法を取り入れたものである。プログラムを、データとその振舞が結び付けられたオブジェクトの集まりとして構成する、などといった特徴がある(wiki調べ)。
難しいですね...
簡単に解釈すると、プログラムを部品の関係に整理することですね。
構造化プログラミングが大枠の機能から詳細な機能に落とし込んで繋げていましたが、機能やデータの関係では無く、部品にして繋げるということです。
ここでいう部品というものはクラスなんて呼び方をされますが、このクラスを色んな用途で利用することで、よりシンプルにプログラミングをすることが可能になるようです。
これでも難しいですが、オブジェクト指向はwebに分かり易い例えばいっぱいありますので、色々調べてみると分かってくると思います。!
まとめ
今回は構造化プログラミングとオブジェクト指向プログラミングをまとめてみました。
最近の主流であるオブジェクト指向プログラミングを学ぶにしても、構造化プログラミング手法の考え方は必要なので、構造化プログラミングを学習してからオブジェクト指向プログラミングへステップアップするのが良いかと思います!
構造化プログラミングの3つの制御構造は基本中の基本ですが、大事なことですね。
以下に参考になったURLを載せておきます。
以上です!
参照URL)