1968年の投書「goto文は有害」とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 1968年の投書「goto文は有害」の意味・解説 

1968年の投書「goto文は有害」

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/04/25 06:17 UTC 版)

構造化プログラミング」の記事における「1968年の投書「goto文は有害」」の解説

詳細は「goto文#goto文論争」を参照 1968年ACM機関紙への投書Go To Statement Considered Harmful」は、そのセンセーショナルなタイトル当時プログラマの間に大きな論争巻き起こした。その要約次の通りである。 プログラマ仕事正しプログラム作り上げた時に終結しコンピュータにそのプログラム実行委託されるプログラマの手離れてコンピュータ内の動作形態であるプロセス作り替えられることになる。 私たち人間能力は、静的プログラムの内容把握するのには向いているが、コンピュータ内で逐一変化していく動的なプロセスの状態を把握することには向いていない。従って私たち静的プログラム動的なプロセスの間にあるギャップ埋めなければならない。 そのためには、動的なプロセス動態指標dynamic index)と正確に対応できる静的プログラム文体指標(textual index)の表現必要になるgotoラベルはその要求満たしていない。「if B then A」「if B then A1 else A2」の選択節や「while B repeat A」「repeat A until B」の反復節の方が適している。 gotoラベル用いた選択文と反復文の記述では、状態判定ジャンプ個々並べられるので、これはプログラム混乱の原因になる。特にラベル多用取り除かれるべきであり、それに伴ってgoto使用数削減される。 ただし、前述の節(clause選択節と反節復)使用徹底あらゆる必要性まかなえるという訳ではない。goto文論理冗長性証明されているが、goto文削減そのままフロー明瞭化に繋がる保証はないので推奨まではしない。 この投書は、当時ソフトウェア開発現場で横行していたgotoラベル安易な使用警鐘を鳴らすためのものであったが、添えられ学術的注釈文芸的比喩数々が却って読み手理解妨げてしまい、冒頭タイトル印象のみを先走りさせて、goto文論争発生させることになった。この投書比較的さり気ないもので、当時ダイクストラ方々現場で目にしていたラベル多用たしなめた所感から書かれていた。ダイクストラ記していた元々の題名はA case against goto statementgoto文への訴え)であり、その時編集者によって挑戦的なタイトルすげ替えられていたのが事の真相である。 goto文論争プログラミング分野一つ流行として1970年代から80年代までの長き渡って続いており、多くプログラマにとっても馴染み深いテーマになっているgoto文構造化定理応酬プログラミング談義定番でもあった。ダイクストラ後年の著作自分提唱した構造化プログラミング本質一つは、この投書テーマであった状態遷移適切な表現方法把握手段確立としている。

※この「1968年の投書「goto文は有害」」の解説は、「構造化プログラミング」の解説の一部です。
「1968年の投書「goto文は有害」」を含む「構造化プログラミング」の記事については、「構造化プログラミング」の概要を参照ください。

ウィキペディア小見出し辞書の「1968年の投書「goto文は有害」」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「1968年の投書「goto文は有害」」の関連用語

1968年の投書「goto文は有害」のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



1968年の投書「goto文は有害」のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの構造化プログラミング (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS