プログラマ狩り

最近見つけた「プログラマ狩り」という小ネタを紹介します.

1.
「ここにプログラマがいるか確認する!まず点呼を取る!番号!始め!」
A「0!」
「連れて行け!」

2.
「ここにプログラマはいるか」
ABC「いません」
「パンを2個、もし卵があれば3個買ってこい」
A「パン2個と卵3個買った」
B「パン2個買って卵無かった」
C「卵があったからパン3個買った」
「いたぞ連れていけ」

3.
「ここにプログラマーは居るか」
ABC「いません。」
「ならば、次の文のおかしな点を答えろ。」
「I am a pen.」
A「英語わかんないよぉ…ふぇぇ…」
B「私がペンなのはおかしい。」
C「全角スペース。」
「いたぞ、連れて行け。」

上記はプログラマあるあるなのですが,野暮は承知で解説を.

1.
ほとんどのプログラミング言語では,データを管理する番号が0から始まります.10個のデータを管理する場合,1から10ではなく0から9の番号が付くのです.1から使い始めるとエラーになってしまう経験が体に染みついているため,プログラマは0から数えてしまうということです.

2.
プログラムは条件によって動作の流れを変えます.上の例では,卵の有無を条件として,下記のように動作の流れが変わると解釈してしまうということです.
もし(卵がある)→パンを3個買う
そうでない→パンを2個買う

別解としては,下記もあると思います.
パンの必要数=2
もし(卵がある)→パンの必要数=3
パンを「パンの必要数」個買う

3.
これは日本(あるいは漢字圏)独特の事柄です.ほとんどのプログラミング言語では半角英数記号のみで命令を記述します.データにおいても,「これは文字列である」と指示せずに全角のかな・漢字を使うとエラーになります.そのようなエラーを避けるよう,全角スペースと半角スペースの区別がつくテキストエディタを使うため,おかしな点に気付くということです.

話は変わりますが,プログラマなどシステムエンジニアに必要な能力は,入れるべき情報と出てくるべき情報を明確にし把握する力と,その入口から出口にたどり着くための手続き・手順を想像し噛み砕いて説明する力だと思います.しかしこれは,多くの仕事に共通しているとも思います.プログラミングは,そのよい訓練だということですね.

One Reply to “プログラマ狩り”

  1. 久しぶりにコメント覧へ…。
    1と2はわざと引っ掛かれと言われれば、引っ掛かれる気がします。
    3は向先生のSAをやっていた頃のあるあるですね。エラーを吐くと言われてデバッグをしていくと、大概全角スペースが悪さをしていましたよ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)