プログラマの論理
事象
先週の出来事。
私「今日学校行くことになるかもしれん」 母「出るなら洗濯物入れてって」 私の脳内:self.set_hook(BEFORE, 外出, function(){self.洗濯物を入れる()});
私「んー」 〜夜〜 母「なんで洗濯物入れなかったの!」 私「外に出なかったから……」
理不尽だ。 外に出なかった場合の動作は未規定なので実装依存のはずである。
母に味方する主張
最適化で命令を単純化すべきである。 すなわち、条件分岐をなくし、常に一定のタイミングで洗濯物を入れるよう動作すべきである。
私に味方する主張
最適化でパフォーマンスを向上すべきである。 すなわち、可能な場合常に洗濯物を入れないべきである。
教訓
実装依存の挙動は怖い。
追記 (2017-07-05)
なるほど。
参考資料
-
「プログラマにお使いを頼んだら……」ジョークが海外の掲示板で人気 - DNA
“Could you please go shopping for me and buy one carton of milk, and if they have eggs, get 6!” A short time later the husband comes back with 6 cartons of milk. The wife asks him, “Why the hell did you buy 6 cartons of milk?” He replied, “They had eggs.”
— A wife asks her husband, a software engineer... - funny