がるの健忘録

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

学び実践するためのパターン

パターン名:三つ目のまんじゅう


元ネタなのですが。こんな話を、ずいぶんと昔に聞きました*1

ある男が腹を空かせていた。
そこで、まんじゅうを一つ食べた。でもまだ空腹は満たされない。
二つ目のまんじゅうを食べた。でもまだ空腹は満たされない。
三つ目まんじゅうを一つ食べた。ようやく空腹は満たされて、男は言った。
「なんだ。はじめから三つ目のまんじゅう1つだけを食べればよかった。

これがどれほど愚かな話かはわかると思うのですが…本当に理解できているのでしょうか?


使っているフレームワークの、関数の、システムの裏側はブラックボックスのままでよいです。
別に普段、HTTPやSMTPやその他プロトコルについて考え思いを馳せる必要もないです。
メモリとかCPUコストとかを意識する必要もありません。


ちゃんと学び理解しているのなら。


ブラックボックスは必要なら開いてホワイトボックスに出来るからこそ「必要な時までは」ブラックボックスでよいのです。
最低限一度以上はきちんとRFCを読み、また必要であるならいつでもそこに立ち返る事が可能であるからこそ「今この瞬間は」別に考えなくてもよいのです。
必要であればメモリ的にタイトなコードが組め、CPUがどう動いているかを理解し考察し、そのために必要なコードに置き換える事が出来るからこそ、「そこまでタイトな要求でなければ」そこまでを意識しなくてもよいのです。


やらない事は時として非常に大切ですが。
「出来なくてもよい」わけではないのです。
大切なのは「出来るけどやらない」。切り札は切らないためにあるものですが、同時に「それを持っている事」自体が交渉において強い圧力となるのです*2
そうして、そうした基礎を学ぶためには、結局の所「結構泥臭い基礎」が必須かつ不可避なのです。


「メモリなんか意識しなくても大丈夫」「コンピュータアーキテクチャなんかわからなくても今は問題ない」その他諸々。とんでもない誤解です。
基礎が出来ていなければ、便利さの裏側にある「不便さ」を知らなければ、結局その先を十分に享受する事は出来ないのです。
一つ目と二つ目のまんじゅうを食べたからこそ、三つ目のまんじゅうで「満腹」という幸せを享受できるのです。


あなたは。
ちゃんと基礎を、裏側を、背景を知り、学んでいますか?
それとも、三つ目のまんじゅうだけを食べようとしていますか?

*1:小学3〜4年の頃ですから…えぇ幾星霜も前ですともさw

*2:なんの話だいったいw