17.10:
gotoは悪で絶対に使ってはならないという人がいる。ちょっとこれは行き過ぎではないか。

A:
プログラミングの作法は文章作法と同じで、ちょっとした技能でガチガチの規則で明文化することはできない。
ただし書き方についての議論はもっぱらそういう規則を中心に回るようである。
goto文については、gotoを好き勝手に使うとすぐに
スパゲッティのようにもつれた保守不能なコードになると昔からいわれている。
しかし、何も考えずに単にgoto文を使うことを禁止しても
すぐに美しいプログラミングに結び付くとは限らない。
体系立てて考えないプログラマーならgoto文をまったく使わなくても
同じように複雑怪奇にもつれたコードを書いてしまう
(たぶん代わりに妙に入れ子になったループやブール値の制御変数を使って)。

プログラムの書き方に関するたいていの意見や"規則"は規則としてよりは指針として考えたほうがうまくいく。
プログラマーが、この指針で何を成し遂げたいのか理解すればもっとうまくいく。
ある種の構文を無闇に敬遠したり、理解することなく規則に従うことは、
規則を使えば避けられることになっているのと同じくらい多くの問題を引き起こす可能性がある。

さらに、プログラムの書き方に関する見解は所詮見解にすぎない。
"書き方論争(style wars)"に引きずり込まれても、たいてい何も産み出さない。
一部の論点(質問9.2, 5.3, 5.9, 10.7で挙げたような)については
お互い相手の意見を認めたり、意見が違うことを認めたり、議論を打ち切ったりすることはないように見える。