C言語で書かれた大量のソースファイルをサンプルとして、現実でのgoto文の利用方法について調査した研究の結果が発表されたようだ。

とりあえず、歴史的経緯的に非常に重要だろう指摘をしておくと、ダイクストラの「Go To Statement Considered Harmful」が出たのが1968年で、C言語の初期の設計・開発が行われたのは1969〜1973年だ。C言語は、ダイクストラの論文が大きな話題となった後に開発されている。とはいえ、まっさらな状態から設計されたのではなく、前身のB言語、BCPL、CPL、ALGOL 60と系譜を遡ることが可能である、という点には留意すべきだろう。

また、C言語のgoto文はアレでもまだ安全になった方だ。アセンブラや昔のFORTRANのGOTOの威力はC言語のソレの数十倍はあった（※オレ基準）。ダイクストラのあの論文は、アセンブラや昔のFORTRANの全盛期に書かれている。つまり、C言語のgoto文よりも強烈で野蛮なGOTOを無分別に使用することに対する懸念の表明だ。

これは私の妄想だが、天下のベル研の研究者が『Communications of the ACM』に掲載された「Go To Statement Considered Harmful」を全く読まなかったとは思えないし、その影響を全く受けなかったとも思えない。

実際、原著が1976年に出版された『ソフトウェア作法』を読んでいると、構造化プログラミングの影響を受けている印象を受ける。

もっとも、C言語の設計に「Go To Statement Considered Harmful」が影響を与えたか否かは定かではない。