メルマガバックナンバー 第18回
こんにちは、プログラミング書籍の館の江畑です。
先日授業内でソードフィッシュという映画を上映したら、やけにエロ過ぎて気まずくなりました。
ネットでプログラマ向けの映画と紹介されてたので、油断して内容を確認せずに見たら大変な事になっちゃったです。
そんな話はさておき、今回のテーマはシャーロック・ホームズの名言に学ぶです。
かの有名な名探偵シャーロック・ホームズのセリフから、プログラミングの極意を紐解きましょう
ホームズは実に論理的で、筋道を立てて、問題を解き明かします。
その過程はプログラミングによく似ています。
もし彼が現代に生きていたら、優れたプログラマになれた事でしょう。
(変人なので周囲は大変でしょうが)
今回はそんなホームズの名言を3つ紹介したいと思います。
もくじ
シャーロック・ホームズの名言に学ぶ
不眠は働くよりも遊ぶよりも人の神経を悩ますものだ
「黄色い顔」より
まず一つ目。現代人の心に突き刺さるやつです。
つまり睡眠はしっかり取りましょう!
当たり前の基本ですが、ホームズもそう言ってます。
私の経験でも、寝不足になると頭が回らないのは、揺るぎない事実です。
忙しいからと言って睡眠時間を削ると、かえって効率が下がり本末転倒になります。
むかし終電帰りがデフォのデスマーチに迷い込んだ事がありますが、ある日突然新聞が読めなくなって焦りました…
睡眠が足りずに、脳が働かなくなったんですね。ヤバイヤバイ。
そして案の定体調を崩し、その会社を辞めましたとさ。
まあでもホームズは退屈凌ぎにコカインを使うような人ですから、あまり健康じゃなさそうですが…
自分の仕事に役立ちそうな全ての知識を身に付けるのは、それほど不可能なことじゃない。だから、ぼくはそうするために努力してきたんだ
「オレンジの種五つ」より
なんか凄いこと言ってますね。。。
さすがに「それは無理だろ」と突っ込みたくなります。
ただもう少しスケールダウンして考えれば、有用なアドバイスになります。
それは自分が開発している環境をよく知るという事です。
森羅万象は無理でも、いま目の前にある環境について詳しくなる努力をしましょう。
ハード、OS、フレームワーク、プログラミング言語がどう動いているかを、調査して身に付けるわけです。
その為の一番の方法はマニュアルやドキュメントを読む、これに尽きます。
困っていたバグの原因が、実は公式マニュアルに書いてあった…
なんて事はよくあるんです。
だから熟読しましょう。必要ならプリントして目を通しましょう。
そこには必ず意外な発見があります。
ちなみにシャーロック・ホームズは、よく新聞を熟読して事件解決のヒントを得ています。
私は以前あるメソッドがiPhoneで上手く動作せず「なぜだ!」となった時、マニュアルを見たら
iPhoneでは動きません
と思いっきり書かれていました(でもせめてコンパイルエラーにして欲しかった…)。
ただプログラミング関係の資料は、英語が多いので困りますね。
そんな時は、Google翻訳の力を借りましょう。
最近は翻訳精度も上がり、私はかなり助けられてます。
あとみらい翻訳もオススメです。
時々Googleよりも賢い結果を出してくれます。
他にはDeepL翻訳もかなり優秀です。
明白な事実ほどあてにならないものはない
「ボスコム渓谷の惨劇」より
これは「思い込み」を排除せよという教訓です。
「ここは必ず正しい!」と信じて、チェックを怠った経験ありませんか?
私はあります。
先日もスマホアプリ開発で、エミュレータでは動くのにスマホ本体で動かない状況に出くわしました。
丸一日あーだこーだ悶絶した結果
(パソコンとスマホを繋ぐ)USBケーブルが断線してただけでした…
当然ながらケーブルを変えたらあっさり動きました。
ケーブルは必ず動く!という「思い込み」があったわけです。おのれヨドバシ。
こんな風に、人間はついつい頭の中にブラックボックスを作りがちです。
シャーロック・ホームズですら前述の「黄色い顔」では、思い込みに反省しています。
だから我々も気を付けねばなりません。
・ハードは故障していない
→いつかは壊れます
・前に同じ事やったから大丈夫
→状況が違うかも
・ツールは正しく動く
→不具合があるかも
・このバージョンは最新だ
→本当に確認しましたか?
・あれから何も変更していない
→腰を据えて記憶をたどろう
・先輩が書いたソースは間違っていない
→先輩も人間です
・データは必ずそこにある
→本当にそうか見てみよう
こういった思い込みの罠に落ちない為にも、まず電源から確認しましょう!
このようにシャーロック・ホームズは100年前の作品ですが、今日のプログラミングにも通ずる教訓が色々得られます。
論理的な思考の具体例とも言え、読むと頭が良くなった気がします(私だけ?)。
私も全部読んだわけではないのでデカイ事は言えませんが、暇潰し&プログラミングのお供にオススメです。
ちなみに私の好きな作品は踊る人形です。
一見すると子供の落書き、しかし実は重大な意味があった…
ド定番ですが、論理的に解き明かす過程が鮮やかです。
あとロバート・ダウニーJr主演の映画版も面白かったです。
ホームズがかなり武闘派で無茶苦茶やってくれます。
それでいて、ちゃんと論理的な推理のシーンも描かれています。
Twitterハイライト
レースゲーム作ってます
スピード重視のコースを作成中
高速バンクから石のトンネルを通り、湖へダイブだ
車の性能差が思いっきり出るように調整したいですあと突然UIがバグる現象が起きて困る…ええいなぜだ#Unity pic.twitter.com/6ixaeXTFiU
— K-Eba@プログラミング書籍の館 (@EndymionProgram) November 8, 2019
ドット絵のレジェンド、スクウェアの渋谷員子さんからレスを頂きました
この漫画に登場するFFドット絵のお姉さん、やはり渋谷さんでした
まさかの御本人レスにより判明
これだからツイッターは面白い https://t.co/iGD7Afq4p8— K-Eba@プログラミング書籍の館 (@EndymionProgram) September 11, 2019
史上唯一?の政治家ゲー
日ソ交流の新時代を告げるゲーム
ゴルビーのパイプライン大作戦(1991年)ゴルビーとはソ連のゴルバチョフ大統領のこと
有名人ゲーは数あれど、政治家ゲーは珍しいですこのイラスト、ちゃんとソ連に許可を取った模様
そして、この直後ソ連が崩壊するとは…#レトロコンシューマー愛好会 pic.twitter.com/FAK9lD7TOG— K-Eba@プログラミング書籍の館 (@EndymionProgram) September 11, 2019
ソニック・ザ・ヘッジホッグはここから始まった
TLがメガドラミニで盛り上がっているので、1991年当時のソニック・ザ・ヘッジホッグの広告を発掘!
わずか半ページの広告ですが、ゲームの魅力がビンビン伝わって来ます
世界的スーパースターはここから生まれたのだ#レトロコンシューマー愛好会 pic.twitter.com/s54s1KqnaW— K-Eba@プログラミング書籍の館 (@EndymionProgram) September 19, 2019
ヒゲをぬかれるととべなくなる
仮面ライダーカード図鑑より
(20)空とぶ怪人ムササビドール弱点
ヒゲをぬかれるととべなくなる↑ちょっとかわいい pic.twitter.com/fK1lCmfNOf
— K-Eba@プログラミング書籍の館 (@EndymionProgram) September 24, 2019
ろんりが!キャンペーン の答え
さて前回のクイズの答えです。
私が作ったブラウザゲーろんりが!に関する問題でした。
このゲーム、全40面をクリアするとスタッフロールが流れます。
その中で一つだけ「他と色が異なる」単語があります。
さて、その単語とは何でしょうか?
正解はSTUFFでした。
エンディングでは、この単語だけ赤くなっています。
これはデスクリムゾンという(一点の曇りもない)クソゲーが由来です。
このゲーム、エンディングの「STAFF」を「STUFF」と誤植しています。
しかしSTUFFは「クズ・がらくた」という意味もあるので、まあまあ正しいと言うのが定説です。
色が赤なのは、このデスクリムゾンの迷台詞
「せっかくだから俺はこの赤の扉を選ぶぜ」
へのリスペクトです。※詳しくは検索
それはさておき、全40面をクリアして正解した方は…
なんと1人いらっしゃいました!
自分で作っておいてなんですが、人類には早すぎるゲームと思っていたので、正直驚いています。
そこまでやり込んで頂き感謝です。ありがとうございました。
3000円分のAmazonギフト券を送信致しましたので、散財して下さいませ。
謎の共通点クイズ
では今回のクイズです。
【問題】
10月31日と12月25日の共通点は何でしょうか?
また意味不明な問題ですが、一応プログラマっぽい答えです。
(両方とも平日とかではなく)
分かった方は本メールに返信してご応募下さい。
正解した方の中から抽選で3名様に、Amazonギフト券コード500円を送信致します。
※募集は終了しました
【ヒント】
英語で、10月31日は OCTober 31、12月25日は DECember 25 と書きます
締切は、次回の配信までです。ご応募お待ちしてます!
今回はここまでです。読んでいただきありがとうございました。
プログラミング書籍の館 江畑