プログラマージョークは、プログラミングのロジックやバグ、プログラマーの行動特性などをもとにしたジョークです。有名な例としては、以下のようなものがあります。
プログラマージョークの例:
「バグじゃない、仕様です」
情シス関係者なら、一度は聞いたことがあるジョークではないでしょうか。
このジョークは、一見バグのように見える挙動が、仕様通りである場合などに使われます。本物のバグを認めたくない気持ちから、現実逃避で「仕様」だと主張する場合にも使えるジョークです。
プログラマーは日々難解なソースコードと戦う専門性の高い職種です。プログラマージョークは、ストレスフルな日常をジョークにすることで、プログラマー同士の一体感を醸成し、時にストレスを緩和させる重要な役割を担っているのかもしれません。
プログラマーのコミュニティサイトでは、日々新たなプログラマージョークが生み出されています。そのため、プログラムジョークは挙げだすときりがありません。
まずは全容を理解すべく、プログラマージョークの代表的なタイプを理解しましょう。プログラマージョークの主な分類は以下の通りです。
タイプ | 説明 |
---|---|
コードを題材としたジョーク | 特定のプログラミング言語の構文や、コードの書き方を題材としたジョーク |
バグを題材としたジョーク | プログラムのバグやエラー、デバッグの苦労を題材としたジョーク |
プログラマーの行動パターンを題材としたジョーク | プログラマー特有の思考回路や行動パターンを題材としたジョーク |
ジョークの種類について、なんとなくイメージできたでしょうか?それでは、それぞれのタイプの代表的なプログラマージョークを紹介していきます!
特定のプログラミング言語の構文や、コードの書き方を題材としたものは、プログラマージョークの真骨頂といえるでしょう。代表的なジョークを以下に挙げていきます。
「プログラマーの夫に買い物を頼み『牛乳を買ってきて。卵があったら6つ買ってきて』と言ったら、牛乳を6パック買って帰ってきた」
どうして牛乳を6パック買ってきてしまったのか、すぐに理解できた人もいるでしょう。
プログラミングでは条件分岐を厳密に解釈します。プログラマーの夫は、「牛乳を買う」という命令の中に、if「卵があったら」「6つ買う」という条件が設定されていると解釈し、卵があったので牛乳を6つ買ってきてしまった、というジョークです。
「プログラマーはハロウィンとクリスマスを混同する。何故なら、10月31日が12月25日と等しいからさ」
これは、瞬時に理解できないジョークですよね。理解するためには、英語表記で考えていく必要があります。
「10月31日が12月25日と等しい」を英文にすると、「Oct 31 equals Dec 25」となります。Octはoctal(8進数)、Decはdecimal(10進数)のことを指す、というのがこのジョークを理解するためのポイントです。
実は、8進数の31と、10進数の25は同じ値になるのです。このことに最初に気づいた人は、本当にハロウィンとクリスマスを混同したのかどうかが気になるところです。
「『セミコロンを忘れただけで一日を棒に振るなんて信じられない』『そう、人生はセミコロンで変わるのよ』」
多くのプログラミング言語では、文末にセミコロンが必要です。セミコロンを忘れるとエラーになるうえに、エラーメッセージの内容だけでは、セミコロンが原因であるとすぐに特定できないケースもあります。
セミコロン忘れは些細なケアレスミスですが、原因箇所の特定には膨大な時間がかかることがある、というプログラマーの苦労を表しています。
プログラムのバグやエラー、デバッグの大変さを題材としたジョークも、プログラマーにはおなじみです。思わず共感してしまうジョークを紹介していきます。
「プログラムを書くのに1時間、デバッグに1週間」
プログラミングにおいて、デバッグに費やす時間は、コードを書く時間よりもはるかに長くなることが多いという現実を表しています。
このジョークはあながち誇張でもないと感じる人は多いでしょう。デバッグに時間がかかり開発スケジュールが大幅に遅れる、というケースは実際によく見られます。
「『私の環境では動かないんだけど』『私の環境では動くよ?』『じゃあ、私の環境が悪いんですね』(後日)『やっぱりバグだったわ』」
バグの中には、特定の環境でのみ発生するものがあり、再現させるのが難しい場合があります。
上記のようなケースでは、環境が原因であると思い込みがちですが、「環境×バグ」の組み合わせで不具合が発生する可能性があることを、常に念頭におく必要があります。
「バグを1つ修正したら、2つの新しいバグが生まれた」
非常によくあるシーンですね。筆者もこのケースで何度も天を仰いだ経験があります。バグ修正によって、予期せぬ新たなバグが発生してしまうことはよくあることです。
修正時に新たなバグを作りこんでしまった、というケースもありますが、バグの修正後、これまで発見されなかった他のバグが見つかるケースもあります。
その場合は副作用ではなく、前向きなバグ発見と言えなくもないですが、いずれにしても天を仰ぎたくなる状況です。
プログラマー特有の思考回路や行動パターンを題材としたジョークは、プログラマーの特性を自虐的にネタにしたものが多くみられます。プログラマーの習性を垣間見るきっかけとなるでしょう。
「プログラマーは、午前3時に完璧なコードを書ける。ただし、翌朝にはそれがなぜ動いたのか理解できない」
プログラマーは、追い詰められた極限の状態で、驚くべき集中力を発揮する、ということが表現されたジョークです。
ただし、一見完璧に動いているように見えても、アドレナリンが出た状態で書いたソースコードは非常に複雑で、翌朝冷静に見返してみるとプログラムを書いた本人もなぜ動いているのか理解できない、というオチもしばしば起こりえます。オチの部分も含めてプログラマーの共感を呼ぶジョークとなっています。
「プログラマーは、どんな問題も解決できる。ただし、問題がコンピューターの前にある場合に限る」
プログラマーは、コンピューターに関する問題解決能力は高いですが、現実世界の問題には対応できないことが多い、という自虐的なジョークです。
このジョークの通り、ロジックのみで成り立つプログラムの世界と異なり、現実世界は理論や理屈では解決できないことばかりです。
「プログラマーは、複雑で技術的な問題を、誰にでも理解できるように説明できる。ただし、相手がコンピューターの場合に限る」
プログラマーは、実現したいことをソースコードで記述するのは得意ですが、人間に対してわかりやすく説明する能力は欠けていることが多い、というジョークです。
誰にでも得意分野と苦手分野がありますが、プログラマーはその落差が激しいのかもしれません。
この記事では、プログラマーのユーモアに満ちた世界、「プログラミングジョーク」について紹介してきました。
情シスのじかんの読者のみなさんなら、日常的に使っていたジョークもあるかもしれませんね。プログラマージョークは、プログラマーの文化の一部であり、知性とユーモアを象徴するものであるといえるでしょう。
プログラミングに関わる仕事に就いている方は、ぜひ日常をジョークにして日々の活力に変えてみてください! コミュニケーションのネタとなり、仲間と楽しく仕事をするきっかけづくりになるかもしれません。
木曜日の夕方に仕事で疲れた脳みそをリフレッシュしたいとき、一人でゆっくりしたい夜、ちょっとした空き時間に、気軽に「つまめる」ソースコードの話題をお届けします。
まるで隠れ家バーでマスターが語るウンチクのように、普段は見過ごしがちなコードの奥深さや、思わず「へぇ〜!」と唸るようなユニークなアイデア、クスッと笑える小ネタを、ソースコードの世界を熟知した「情シスのじかん」がご紹介します。
コードを書くのが大好きなエンジニアさんも、ソースコードはちょっと苦手…という情シス部門の方も、この特集を読めば、きっとソースコードの新たな一面を発見できるはず。
業務効率化のヒントになるTipsや、セキュリティ対策に役立つ情報も盛りだくさん。
さあ、あなたも「おつまみとしてのソースコード」で、技術の世界をもっと身近に、もっと楽しく感じてみませんか?
本特集はこちら30秒で理解!フォローして『1日1記事』インプットしよう!