1. トップ
  2. コラム一覧
  3. プログラマーから見たあやふやな世界

プログラマーから見たあやふやな世界

投稿日 : 2018.10.25  |  カテゴリー : 雑記

プログラマーが悩む
プログラマーの夫とその妻という設定でこんなジョークがあります。

A wife asks her husband, a programmer, “Could you please go shopping for me and buy one carton of milk, and if they have eggs, get6?”

A short time later the husband comes back with 6cartons of milk and his wife asks “Why did you buy 6 cartons of milk?”

He replies “They had eggs.”

英語原文


 

妻がプログラマーの夫におつかいを頼んだ。
「牛乳買ってきてくれない?あともし卵があったら6個。よろしくねー。」

しばらくして夫が買い物から帰ってきた。
牛乳を6つも抱えて。

妻は聞いた。
「なんで牛乳を6つも買ってきちゃったの!?」

夫「だって、卵があったから。」

意訳

もしかするとプログラミングを経験した事が無い人はこの話のミソが分からないかもしれませんね。
普通であれば「牛乳を1つと、卵があれば”卵を”6つ」買ってくるのが自然な行動と言えます。
実にたわいもないありふれた日常会話です。

ではなぜプログラム経験者であればクスっときてしまうのか。

プログラミングには
if 〜〜 else 〜〜 という書き方があります。
日本語でも全く同じで「もしであれば〜〜もしそうでなければ〜〜」です。

このジョークをプログラム風に書いてみると。。。

初期値↓;
牛乳の数 = 1;
卵の数 = 0;

もし(店に置いている卵の数が(1以上だったら)) {
   牛乳の数 = 6;
   卵の数 = 0;
} その他にもし(店に置いている卵の数が 0だったら ) {
   牛乳の数 = 1
   卵の数 = 0;
}

買い物をする((牛乳の数)と(卵の数)だけ);

と、こんな感じになるでしょうか。

店に卵が1個でもあったから牛乳を6つ買ってきた!
プログラムとしては非常に素直かつ当然の挙動です。

プログラムは行間が読めません。
所謂KYですが、書いてある事が全てなのです。

ちなみにこの書き方だと卵の数は変動しませんので、
夫はいずれにしても卵を買う事はなかったのでしょうね。

この記事を共有する
  • facebookでシェアする
  • ツイッターでつぶやく
  • LINEで送る
関連記事

意外と知らない「正月」のあれこれ

あけましておめでとうございます。 さて早速ではございますが「正月」のあれこれについて記述したいと思います。 「正月」の由来 まず、正月の語源は、様々な説があります。 仏教の修正会が1月にあったため「正すための月」であ ...

架空の映画ポスターが非常にかっこいい!

reddit(レディっト)というウェブサイトに、他者が投稿した写真をまるで映画のポスターみたいにしてしまう人物がいる。 「Your_Post_As_A_Movie」というユーザーで、変哲の無いただの写真も本物の映画のポスターのよう ...

月の不思議(パート1)

月 月は宇宙でももっとも身近な存在であり、常に我々の興味をひいてきた。 地球を周回するただ1つの衛生。 直径は地球の4分の1であり、太陽の400分の1の大きさなのに地球から見た太陽と月は同じ大きさである。これは丁度、地 ...

外国人が思う日本の「素晴らしい&日本の変なところ」

日本の素晴らしいところ ・「約束の時間をちゃんと守る」 約束の時刻をきちんと守る堅実な人間が多い。 ・「他人への思いやりに溢れている」 街の人の親切さや接客の礼儀正しさには驚き外国人観光客が多い。 アメリカ人留学生 ...

“ものづくり”としてのプログラミング

子供の頃って何かを作るのに夢中になりませんでしたか? 私自身が子供だった頃を思い出しても、 自分だけの新しい何かを作るという行為が楽しかった事を覚えています。 道端に落ちている木の棒と瓦礫を組み合わせて武器を作る。 ...

ビデオゲームの墓場 -1980年代のゲーム市場-

アメリカ、ニューメキシコ州のアラゴモードに「ビデオゲームの墓場」と呼ばれる地域が存在しています。 なぜこのように呼ばれるようになったのか、その背景にはビデオゲームに関する残念な歴史があります。 家庭用ビデオゲームの普及 197 ...

ロボットは人間の友達となり得るのか

IT技術が進んでいくにつれて、ネット世界の拡大やネットワーク技術の普遍化、 VR(バーチャルリアリティ)といった分野がめまぐるしく進歩していってますね。 それでも空を走る車や宇宙への旅、どこでもドアなんてのはまだまだ空想の世界で ...

iPadをなんとかして活用したいんや!

タブレット端末をお持ちですか? みなさん上手に使えてますか? 筆者はもともとApple製品が好きということもあり、多分に漏れず iPadを購入してみたわけですが、いかんせん使いどころが分からない。。。 iMac、MacB ...

レトロフューチャーと、想像とは違う現実

illust via Retro-Futurismus レトロフューチャーという言葉があります。 retro(懐古)でありfuture(未来)でもある不思議な組み合わせの言葉。 1900年代初期、科学技術がますます発展する中「 ...

「ポケモン」の次は「ハリー・ポッター」!

ポケモンGOのNiantic社が、11月8日公式ブログで、「Harry Potter : Wizards Unite (邦題未定)」を開発中であることを発表しました。 映画や小説などでおなじみの「ハリー・ポッター」を題材にしたゲームで ...

Knocknote Education(ノックノートエドゥケーション)