これを迷信集に入れるべきかどうか迷ったのですが、口にこそ出さないものの、実際にこのように信じているとしか考えられないプログラマが少なからず存在することは事実です。彼らは、あたかもブロークンな英語のように、正しい文法で書こうという意思をまったく働かせることなく、デタラメなコードを書きます。そして、その背景には、「きっとコンパイラが気持ちを察してくれるに違いない」という期待が心のどこかにあるようです。
当たり前のことですが、コンパイラは単なるソフトウェアに過ぎません。できることはといえば、プログラム言語の仕様にしたがって、ソースコードを機械的に翻訳することだけです。そうしたコンパイラには、曖昧で複数の意味にとれるコードを見ただけで、それを書いたプログラマの人となりを考慮して判断することなどはできません。言葉足らずのコードを見ただけで、それを書いたプログラマが今抱えている問題を察して処理を補完してくれることもありません。
コンパイラがプログラマの気持ちを察することができるとすれば、せいぜい、エラーメッセージや警告メッセージを生成するときに、「統計上よくある失敗例に該当するのではないですか?」とアドバイスしてくれる程度なのです。
AIが発達した昨今、このような誤解はさらに増えるかもしれませんね。

![[迷信] fflushで入力バッファをクリア](https://www.kijineko.co.jp/wp-content/uploads/2021/06/4674097_s.jpg)
![[迷信] setjmpマクロの返却値は変数に代入できる](https://www.kijineko.co.jp/wp-content/uploads/2021/06/4225767_s.jpg)
![[迷信] 文字列から整数への変換にはatoi](https://www.kijineko.co.jp/wp-content/uploads/2021/06/5030499_s.jpg)
![[迷信] 今どきint型が16ビットの処理系なんて無い](https://www.kijineko.co.jp/wp-content/uploads/2021/05/4618601_s.jpg)
![[迷信] プログラムは必ずmainから始まる](https://www.kijineko.co.jp/wp-content/uploads/2021/06/2798657_s.jpg)
![[迷信] ソースコード中の即値を全廃せよ](https://www.kijineko.co.jp/wp-content/uploads/2021/06/4167072_s.jpg)