もうかなり前の話になってしまうのだが、C言語における『未定義動作』の存在を知った時は衝撃を受けた[本の虫:Old New Thing: 未定義動作はタイムトラベルを引き起こす(他にもいろいろあるけど、タイムトラベルが一番ぶっ飛んでる)、Success is a Journey, not a Destination:全てのCプログラマが未定義な振る舞いについて知っておくべきこと #1/3]。以降、gccのWstrict-aliasingオプションは必ず付けるようにしているし、ポインタの怪しい型キャストはしないようにしている。 それなりに親しんでいるつもりのテクノロジでも、重要なことを知らないまま使っていて、落とし穴にはまることがままある。必要と思ってはいても、つい仕事が忙しい、探して手に入れるのが面倒であるなどを理由にして、Webの断片的な情報や入門書で用を足し、言語仕様書などを読まないで済