goto文
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/11 01:22 UTC 版)
プログラミング言語におけるgoto文(ゴートゥぶん、英: goto statement)とは、手続き列中の指定された場所(専らラベルで指定される)に無条件にジャンプ(移動)する、という制御構造のひとつを表現するための「文」である。古い文献などで "go to" と離していることもあるのは、英語の go to どこそこ、といったような言い回しとの類似のためでもあり、FORTRANではプログラム中の空白は基本的に無視されるので、goto
でも go to
でも同じだったからという理由もある(BASIC処理系の中にも、どちらも使えるようにしているものもある[要説明])。
注釈
- ^ Java(gotoが使えない言語)のラベル付きbreakなどは、そのような場合においてgoto無しでも簡潔に書けるようにするためにある。
- ^ C言語以外のことも考えれば、一般的にはラベルのみあれば良く、文は絶対に必要というわけではない。ラベル単体では存在できず「ラベル付き文」とする必要があるのはC言語の単なる構文上の制限である。
- ^ Javaの場合、gotoを不要とするために充実しているのは、ラベル付きbreakとcontinueであり、例外処理機構はgotoよりも大きなスコープでのジャンプ(C言語で言えばgotoではなく、setjmp/longjmpに相当)である。
- ^ ただし、本人が付けたタイトルはA Case Against the Goto Statementという穏便なもので、少なくともタイトルの過激さと、レターとして発表を急いだことは、編集を担当していたヴィルトによるものである。
- ^ これらは「去勢されたgoto」とも呼ばれるが、例外処理は実際には関数呼び出しをまたいだ大域脱出もできるのだから、gotoよりも例外処理のほうが強力である。
出典
- ^ ha ha only serious
- ^ PHP: 新機能 - Manual - PHPマニュアル(2013年12月4日閲覧)[リンク切れ]
- ^ 有澤誠訳『文芸的プログラミング』 p. 45
- ^ a b E. Dijkstra (1968). “Go To Statement Considered Harmful”. Communications of the ACM 11 (3): 147-148. CiteSeerx: 10.1.1.132.875.
- ^ Knuth, D. E. (1974). “Structured Programming with go to Statements Computing Surveys”. ACM, New York, NY, USA 6 (4): 261-301. CiteSeerx: 10.1.1.103.6084.
- ^ E. W. Dijkstra, “Structured Programming”, In Software Engineering Techniques, B. Randell and J.N. Buxton, (Eds.), NATO Scientific Affairs Division, Brussels, Belgium, 1970, pp. 84–88.
- ^ Frank Rubin, "GOTO Considered Harmful" Considered Harmful, Communications of the ACM, Vol.30, Issue 3, 1987, pp.195-196.
- ^ B.リーヴェンワス編, ed. (1975), “GO TO 論争:第2部 GO TO 論争”, bit (共立出版) 7 (5): 10-26
- ^ 金山裕 編, "構造的プログラミング −批判と支持−", bit, Vol.7, Issue 7, 1975, pp.6-13, 共立出版.
- ^ Language Reference Goto Statement
- ^ PHP マニュアル goto
- ^ 木村泉, "GO TO 論争:第3部 解説", bit, Vol.7, Issue 5, 1975, pp.27-39, 共立出版.
- ^ a b 二木厚吉 監修, ソフトウェアクリーンルーム手法, 日科技連, 1997.
- ^ 木村泉, "ダイクストラ教授とふた付き命令", bit, Vol.8, Issue 9, 1976, pp.29-34, 共立出版.
- ^ All Circuits are Busy Now: The 1990 AT&T Long Distance Network Collapse
- 1 goto文とは
- 2 goto文の概要
- 3 批判
- 4 gotoとバグ
- 5 脚注
固有名詞の分類
- goto文のページへのリンク