未来のいつか/hyoshiokの日記

hyoshiokの日々思うことをあれやこれや

金星ロケットのバグ

プログラマなら一度は聞いたことがあるバグの話として、金星ロケットの制御システムかなんかにバグがあって、金星までいかなかったとかなかったとかというのがある。FORTRANの DO 10 I = 1, 3 と書くべきところを DO 10 I = 1.3 としてしまったとかなんとか。FORTRANを知らない人に解説すると、前者は、Iを1〜3とする繰り返すDO文で、後者はDO10Iという変数へ1.3という浮動小数点を代入する文である。

http://d.hatena.ne.jp/kmori58/20051208/p3 経由で知ったのだが、これはいわゆる都市伝説で、DO文のバグではなく http://catless.ncl.ac.uk/Risks/8.75.html#subj1 によれば、ハードウェアとソフトウェアの複合的な不具合らしい。では、DO文の話はどこから来たかというと、http://catless.ncl.ac.uk/Risks/9.54.html#subj1 によれば、DO文のバグがよくあるバグだったので、いつのまにかに、金星ロケットの話と混同したのではないかということらしい。