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

![[迷信] double の出力書式は"%lf"](https://www.kijineko.co.jp/wp-content/uploads/2021/05/4950885_s.jpg)
![[迷信] getsは単純にfgetsに置き換えられる](https://www.kijineko.co.jp/wp-content/uploads/2021/06/5063693_s.jpg)
![[迷信] absは常に非負の値を返す](https://www.kijineko.co.jp/wp-content/uploads/2021/06/4500264_s.jpg)
![[迷信] 2の累乗による割り算と右シフトは等価](https://www.kijineko.co.jp/wp-content/uploads/2021/06/3109898_s.jpg)
![[迷信] sizeofは定数式](https://www.kijineko.co.jp/wp-content/uploads/2021/06/4882007_s.jpg)
![[迷信] 構造体のタグ名は下線で始める](https://www.kijineko.co.jp/wp-content/uploads/2021/06/4006912_s.jpg)