構造化定理との関係
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/04/25 06:17 UTC 版)
「構造化プログラミング」の記事における「構造化定理との関係」の解説
詳細は「構造化定理」を参照 1970年代初頭に計算機科学者デビッド・ハレル(英語版)は、1966年に発表されていたベームとヤコピーニの数学証明に、構造化定理(Structure theorem)という全く新しいタイトルを付けて主に産業ソフトウェア開発界隈で紹介した。ハレルが後に明かしたところによると「構造化定理」という名称は、当時IBM社の上席プログラマーであったハーラン・ミルズの提案だったという。ダイクストラの提唱内容とは全く異なる、制御構造(順次・選択・反復)主体の構造化プログラミングは、IBM社のIPT(Improved Programming Technologies)に採用されており、同社主催の技術セミナーなどを通して当時のプログラマに広く流布されていた。その中で恐らく意図的にダイクストラのそれと名称を似せた「構造化定理」は、彼らが勧める制御構造の合理性を数学的にも証明した根拠として盛んに引用されていた。このような経緯から制御構造の使用と構造化定理は同一視されるようになり、ダイクストラのgoto文有害説から誤解された構造化プログラミングとも同一視されるようになった。goto文論争の中で引き合いに出されていた構造化定理もまた、ベームとヤコピーニから見れば誤解であった。 なお、ベームとヤコピーニの証明は、フローチャートやそれによって表現されるプログラム・関数・チューリングマシンなどの理論的側面に注目している。これは任意の論理回路がNAND素子の組み合わせによって表現できるとか、ラムダ式がSとKの2つのコンビネータによって表現できるとかいった研究に近い。回路設計者が直接NANDを組み合わせて電子回路を設計しないのと同じように、構造化定理は良いプログラムの作成を(少なくとも直接的には)意図していない。ハレルも構造化定理は実際の内容以上に引用されて民間伝承定理(folk theorem)化していると指摘していた。
※この「構造化定理との関係」の解説は、「構造化プログラミング」の解説の一部です。
「構造化定理との関係」を含む「構造化プログラミング」の記事については、「構造化プログラミング」の概要を参照ください。
- 構造化定理との関係のページへのリンク