プログラミングの格言から学ぼう

メルマガバックナンバー 第12回

こんにちは、プログラミング書籍の館の江畑です。

先々週、Windowsが起動しなくなりました。
修復も叶わず(泣きながら)クリーンインストールしました。

一昨日、MacBookの電源ケーブルが黒く焦げました。

昨日、デスクトップにUSBメモリを挿したらブルースクリーンになりました。

今日、ドローンを修理してたら半田ごてで本体を溶かしました。

明日?そんな先のことは分からない。

変わり果てたついったー

サイトのお知らせ用に始めたTwitterですが、今ではすっかり面白ネタ発掘アカウントになってます。
いくら意識高いフリしても、おちゃらける本能を抑えられないんです。。。

主に昔のゲーム雑誌・チラシ・おもちゃから、楽しい話題を紹介してます。

【最近のハイライト】

ゲームボーイを29年ぶりに起動したら、普通に動いた!

USBを挿す方向を間違えない方法

きれいな色してるだろ。ウソみたいだろ。クソゲーなんだぜ。

テトリスの広告が間違ってる

あ、ときどき真面目な事もつぶやいてますよ。
そんなわけでフォロー宜しくお願いします!

プログラミングの格言から学ぼう

今回のテーマは格言です。

サイトのトップにランダムで出てるアレです。
全135個。
なお一周するまで同じものは出ないので、134回リロードすれば全部見られます。

今回はその中から5個紹介し、元ネタを解説したいと思います。

1人目 ビル・ゲイツ

プログラミングで最も難しい点は、アルゴリズムをどうするか決めること。そして、それをできるだけ単純化すること。

ビル・ゲイツ

今では経営者のイメージが強いビル・ゲイツですが、優れたプログラマでもあります。
そんな彼の言葉。アルゴリズムの大切さを説いています。

そして単純化するとは、複雑な処理からパターンを見付ける能力を指します。
巧くパターンを見抜けば、ソースは驚くほどシンプルになり、格段にソフトウェアの品質が高まります。

2人目 ウィリアム・シェイクスピア

#define question ((bb) || !(bb))

ウィリアム・シェイクスピア

これは格言…ではなくジョークです(^_^;
シェークスピアのハムレットにある有名な台詞

To be or not to be, that is the question.
(生きるべきか死ぬべきか、それが問題だ)

をC言語に移植?したものです。To be → Two b → bb
こんなユーモアを常に大切にしよう!という先人からのアドバイスですね。

3人目 マイク・モートン

最適化をする前に、まず計測をして「忙しい」場所をみつけよ

マイク・モートン

プログラムのパフォーマンス(速度・メモリ消費)をアップさせる時、思いつきで修正しちゃダメだよ。
まずどこが問題なのか調べる事からはじめよう。

そのためにプロファイラというツールがあります。
あるいは、単純なprint文でも良いので情報を集めましょう。

むかし僕はこれを怠った為に、全く意味のない所を延々と修正してました…

4人目 闘わないプログラマ

ランボー怒りの定時退社

闘わないプログラマ

元ネタは「ランボー/怒りの脱出」というシルベスター・スタローン主演の映画です。
この闘わないプログラマとは僕自身です。

むかし炎上プロジェクトでストレスとイライラが募り、18:00に上司がトイレ行った隙を見て怒りのままに帰りました。
ええ、もちろん怒られましたとも。

でもやっぱり仕事よりも自分の体が大切なので、怒りの定時退社は大正義だったと思ってます。

5人目 シャーロック・ホームズ

情報がないのに理論を組み立てるのは重大な過ちだ。
事実に即した理論じゃなく、無意識のうちに理論に合うように事実をねじ曲げてしまうからね。

シャーロック・ホームズ(ボヘミアの醜聞 より)

言わずとしれた名探偵シャーロック・ホームズによる推理のポリシー。
これはデバッグに通じるものがあります。

ホームズは事件を解決しますが、プログラマはバグを解決します。

難事件に出くわした時は、まず彼に習って客観的な情報を集めましょう。
先入観で原因を決め付けると、事件は迷宮入りです。

また情報を集める方法も大切です。
ホームズは、虫眼鏡、科学実験、変装、新聞記事、人脈など多彩な手法で情報を集めます。

プログラマも、デバッガーを使う、ログを見る、ググる、検証用コードを入れるetc
集める手段は無数にあるので、これらを駆使しましょう。

僕がよくやるのは、最小限のプログラムを別に用意して実験する方法です。
ビルドも起動も早いし、情報収集に専念できますよ。お試しあれ。

モビルスーツはここにいた

さてクイズの答えです。こんな問題でした

こちらのページをご覧下さい

一見しなくても僕の黒歴史ですが、画像の中にモビルスーツが2体隠れています。
そのモビルスーツ名をお答え下さい。

ちなみこれは僕が若かりし頃テレビに出た時の模様です(左下にいます)。

正解はザクとガンキャノンでした。
隠れてる場所は、解説画像を上のページにアップしたので御覧下さい。

今回は2名の方が正解しました。おめでとうございます!
なお応募もこの2名様のみでした。

Amazonギフト券コード(750円分)をメールで送りますので、家のローンにでも宛てて下さい。

スフィンクスの四行詩なぞなぞ

今回のクイズは趣向を変えてなぞなぞです。問題はこちら。

—————————

“石版”に刻まれた浪漫の記録

あるとき東へ、あるとき西へ
列を成す100を超える丘、大地は激しくうねるだろう
決して退くことは許されず、鍵は汝の手中にある

“石版”とは何か?

—————————

なんというか、ただの厨二病の作文に見えますね…

よく分からない方は、このスフィンクスの四行詩なぞなぞを御覧下さい。
この作者さんのような凄い問題を作りたいですが、なかなか語彙力が追いつきませんね。

もっと面白い問題を作れたらぜひ教えて下さい。メルマガで使わせて頂きたく思います。

正解した方の中から抽選で3名様に、Amazonギフト券コード(500円分)をメールでお送ります。

応募は本メールに返信すればOKです。
締切は次号の配信まで。ご応募お待ちしてます!
※募集は終了しました

今回はここまでです。読んでいただきありがとうございました。

プログラミング書籍の館 江畑


Kuniaki Ebata 登録者

大学中退(文系)の専門卒 日本で唯一のプログラミング書籍評論家 プログラマーで現役のスキー国体選手です 頭と体を動かすのが大好きなフレンズなんだね 専門学校で先生もやってます プログラミングは21歳から 貴族じゃない独身 持病:重度うつ病(薬とサポートのおかげで何とか生きてます) 教え子をゲーム業界へどんどん送り込み、世界を面白くする野望を実現中 プログラミングが上達するメルマガやってます ここを見たゲーム業界の卒業生へ 新作が出たら、連絡するか現物を送ってくれると嬉しいです ただし18禁・CERO-Dの場合は、厳重に梱包の上、品名をパソコン部品にて送る事(だいじ) このページが参考になった方へ ぜひSNSやブログでシェアして欲しいです お願いします(少し上にボタンあります) 最近Google先生が中身の無い「いかがでしたか?」サイトを優遇するので困っています助けて下さい(>_<) シェアしてくださった方には 小冊子 プログラミング書籍が10倍わかる読み方(pdf) を差し上げます こちらからご報告頂くか、こっそりDMを送って下さい