夜中に前へ

思考実験、書評、ゲームレビュー、あと雑記

『裏切りのプログラム』を読んで/プログラミングと推理小説って似てる

スポンサーリンク

『裏切りのプログラム』というミステリ小説を読みました。

著者はあの「めもりーくりーなー」を開発されたクロノス・クラウンの柳井政和さん。

「めもりーくりーなー」は、昔Windows Meを使ってた時お世話になりました。(あのOSはマジ勘弁)

その製作者が? ミステリ小説を書く? 興味が沸かないわけがありません。

ストーリー

主人公の安藤裕美がプログラマ向けの就職斡旋サービスを初めるところが話は始まります。ところが企業に送り込んだプログラマが、企業内の個人データ5万人分を暗号化して失踪、身代金7000万円を要求してくるという暴挙に打って出ます。

それを助けに現れたのが、副題にもあるハッカー探偵役の鹿敷堂桂馬…という流れです。

主人公が作ったサービスは、CodeIQっていう実際のエンジニア向けのサービスをモチーフにしてると思われ、またプログラマが書いているだけあって、プログラム業界のあるあるネタがつまってます。

作中では「技術があれば、どんな犯罪でも行える」という主人公の発言に対し、技術があれば犯罪は行えるが、それは包丁を持った料理人も同じだ、といったような会話がなされます。プログラマに対する偏見をなくそうという著者の思いも感じられました。

プログラマにおすすめなのはもちろん、プログラマって一体何やってんの? と興味がある人にも読んで欲しいです。

プログラミングと推理小説って似てる

私は仕事上の理由から、プログラムを書くことがあります。

プログラムにはバグ(不具合)がつきもの。そしてバグが見つかれば調査し、改修作業を行うこととなり、この作業をデバッグと呼びます。

デバッグ中、何度か考えたことがあります。

「プログラミングって、推理小説に似てるなあ」

え? 何を言ってるのかって? 表で対応関係を表現するとこんな感じです。

プログラム 推理小説
不具合発生 事件発生
不具合調査 事件調査・犯人特定
改修作業 自供・逮捕



ね、似てませんか!?

特に近いなと思ったのが、調査フェーズの部分。この調査が、バグの内容によっては思わぬ展開になることがあるんですよ。

前回のアップデート後、動作がおかしくなったけど何が原因か全然わからない…前回から変更した部分を全部洗い出すんだ!!

→容疑者の洗い出し

あっ! 特定条件下でヌルポインタにアクセスしてるぞ!? これか! ぬるぽ!!

→犯人の特定

あれ!? ヌルアクセスの部分治しても、まだ不安定な動作するんですけど!!

→複数犯の可能性

あ! 俺がデバッグ中に関係ないところのソース書き換えてたわ!! へへっ。

→「わたし」が犯人

ね。プログラマならこんなこと考えますよね? え? 私だけですか? そうですか…。

難解なバグを解決した時の気持ちよさは、意外な真犯人がわかった時の感覚にすごく似てるんですよ。

この本の著者は、私と同じような事を考えながら執筆されたに違いない。読み終えて私はそう感じました。

調査パートが「デバッグ」という章になっていることからも、それは伺えます。

おわりに

そういやコンピュータ内に虫(bug)が挟まっていたことで装置が不調を起こした事件があったことから、不具合のことを「バグ」と呼ぶようになったという説があります。

これ推理小説だったら、「読者が犯人」レベルのやつですよね。(実際そういう小説あります)

プログラミングを元ネタにして小説を書くのは、いつかやってみたいなあ。

ということで、次回作が出たら必ず買おう、と思った一作でした。

スポンサーリンク