構造化プログラミング

2025-02-04

最初のプログラミングパラダイム

起源

keyvalue
When1968 年
WhoEdsger Wybe Dijkstra

1968 年、Dijkstra が CACM に投書した Letter「Go To Statement Considered Harmful」が論争を引き起こした

経緯

  • Dijkstra はプログラミングの困難性(複雑性、バグ)を、数学的な証明を適用することで解決しようと考えた
  • goto 文によってモジュールを再帰的に分割できない、分割統治が使えなくなることを発見
  • goto 文によるフロー分岐やループ表現を、「選択(if/then/else)」「反復(while/do)」構造(構文)に置き換えることで、証明可能な単位に再帰的に分割できる可能性がある
  • Corrado Böhm, Giuseppe Jacopini による 1966 年の論文で、任意のプログラムは「順次(sequence)」「選択(if/then/else)」「反復(while/do)」の 3 つの基本制御構造で構築できる(構造化定理)ことが分かっていた

参考

software designprogramming

ソフトウェア設計