知識について,
というレベルの分類が少なくともありそう. そして, 知識の内容や用途によって, どのレベルまでその知識を深掘りする必要があるか(した方が効率的か)というのが変わってきそう.
下のレベルに進めばすすむほど, そこに至るまでのコストが指数関数的に増えていくので, いい塩梅でやっていかないといけない.
例えば, プログラミング言語の構文とかは, まあ少なくとも頻繁に使う, 代表的なものについては「覚えている」までやっておけば良いと思っていて, 「知っている」レベルだと, それが正しいのかどうか毎回検索したり, 調べたりしながらやっていく必要があって, 結構大変そう.
一方で, ニッチな機能とかは「知っている」或いは「知らない」のレベルでも全然やっていけるし, 逆にそこから更に深掘りして, 例えばインタプリタの内部実装の理解まで広がると, それはそれで面白いという人もいるし, 役立つ場面もいろいろありそう.
時間は有限な一方, 技術の幅はいろいろ広がっていて, 道具も増えていて, その中で知識を増やすのであれば, この「どこまで深掘りするか」というレベルに沿って, ある程度アタリを付けてやっていく必要があるなあ, と最近思ったので, こういう文章を書いている.
大抵の知識は, 「知っている」レベルに持っていければ, その知識が活きそうな場面で再度本を読んだり, ググったりして, 活かす第一段階まですぐ持っていけるので, 基本はここを目指すことになりそう. そういう場合, サーッと本を読んでいれば概ねそのレベルには到れる気がする. 脳内に, その本の内容というか概要についてのインデックスを作る感じと言えそう.
とはいえ, 場合によっては「覚えている」或いは「理解している」レベルまで, 深く読み込んだ方が良いものもありそう. こういう時は, 1つ1つ理解してから先に進む, みたいな感じでやっていくと時間が無限にかかるので, こちらもやっぱりサーッと読んで, 少し寝かせてまた読む, みたいな感じでやっていくと良さそう.
最近結構ぐーたらしていて, 家に帰ったらご飯作ってバタンキュー, という感じで, 技術書の消化が捗っていなかったのだけれど, こういう観点も意識しながらチマチマと読み進めていきたいという近況です.