Milkのメモ帳

日々の思いつきを忘れないようにのメモ用です。

Milkのメモ帳

【プログラマ】彼はなぜ奥さんの思ったように買い物が出来なかったのでしょうか。【ジョーク】


f:id:maxminkun:20171119222630j:plain

こんにちは。Milkです。
今回は、ちょっとした笑い話のなぞなぞ。

私の大好きなお話で、以下のようなものがあります。

ある妻がプログラマの夫に「買い物にいって牛乳を1つ買ってきてちょうだい。卵があったら6つお願い」と言った。
夫はしばらくして、牛乳を6パック買ってきた。
妻は聞いた「なんで牛乳を6パックも買ってきたのよ!」
夫いわく「だって、卵があったから……」

参照:「プログラマにお使いを頼んだら……」ジョークが海外の掲示板で人気 - DNA

なぜ、夫は牛乳を6パックも買ってきてしまったのでしょう?!


プログラマの思考

f:id:maxminkun:20171119223650j:plain


もし、こんな買い物をしてきたら、奥さんはカンカンに怒りますよね(笑)

なんで牛乳を6パックも買ってくるのよ!

これは、プログラマの悲しき職業病なのです。

コーディングは条件が大事

システムを作る上で、必要なこと。

それは、条件。

つまりですね。

「こういう時は、このような動きをする。」という条件が大事になってくるのです。

例えば、皆さんがソフト(アプリ)を使う時にもこのようなものは多く存在しています。

  • このボタンを押すと、次の画面に進む。
  • このキーを押すと、文字が表示される。

などなど、システムはほぼこの「こういう時は、このような動きをする」の集まりなのです。

それを順番につなぎ合わせていっても同様です。

  • Aと言う計算が終わったら、Bと言う計算を行う。
  • Bと言う計算が終わったら、画面に結果を表示する。

この観点から、もう一度最初の問題を見てみましょう。


条件は卵

奥さんはあくまでも、「卵があったら6つお願い=卵があったら卵を6つ買ってきて。」という意味で話をしています。

しかし、夫はその場で違う解釈を始めます。

最初に「牛乳パックを1つ買ってくる。」と言われています。

次に、「卵があったら6つお願い。」と言われました。

つまり、夫は頭の中で「牛乳パックは1つ買ってくる。しかし、卵があったら、牛乳パックを6つ買ってくる。」と理解しました。

「卵がある時は、牛乳パックを6つ買ってくる」

だから、それを忠実に実行したのです。

あぁ・・・なんて悲しき職業病・・・(笑)

現実にこれは発生する

これはジョークなので、「あははww なんてバカなことをしてるんだww」で終わるんです。

しかしながら、現実で起きるので怖い・・・

私達、システムエンジニア(SE)は設計書を書きます。

この時はこのように動作する。そして、この計算を行う。

そんなことをつらつらと書き連ねていくのです。

ですが、時に「これは常識だろう」って思って、文章がいかようにもとれる内容になってしまうことがあるのです。

先程の、「卵条件」と同じです。

牛乳パックなんて6つも必要ない。だから理解できるだろう。

そんなことをすると、プログラマは「これは・・・卵は条件なのか?」と理解が出来なくなる時が出てきます。

それにより、牛乳をたくさん購入するようなシステムが出来上がるのです。

ですから、設計者は面倒なのですが、「牛乳パックは1つ買ってくる。卵は存在すれば卵を6つ買ってくる。」と書かなければなりません。

プログラマがどのように認識してコーディングしてしまうかは分からず、思ってもない形に出来上がることがあるからです。

図解をしてみたり、文章に条件を書き連ねたり、様々な手法をとりながら「設計とコーディングの齟齬」が発生しないように調整を重ねます。


最後に

f:id:maxminkun:20171119230233j:plain


これね。日本人同士ならまだなんとかなるんですよ(笑)

外国人を相手にすると、更に大変なことになります。

時々、「なんだこりゃ!全然おもってたのとちゃうやんけ!」ってのがあるんだなぁ・・・(遠い目

本当に細かい内容まで、相手と詰めていかないと、牛乳だらけになりますww

いやいや。笑い事じゃないんだって!

コーディングの工程は順調?

とメールをして、大概は

外国人「OK。問題なし。」

と返答が来ます。

信じて、こっちはこっちで別の作業をしていて、いざプログラムとご対面!となると・・・

なにこれww

モウナニモ、シンジラレナイ。

ってことになったりするんすよ。

だから、定期的にコミュニケーションをとり、密な関係を維持するのが大事。

ジョークがジョークで終わらなくなるときがあるんだよなぁ・・・いやはや・・・

そんな世界もあるのです(;・∀・)

さて、今回はこの辺で。

adios!!