KDOC 26: 深く知る

この文書のステータス

  • 作成 貴島
    • 開始 2023-07-23
    • 終了 2023-07-23
  • レビュー 貴島

概要

趣味で色々学んでいるが、なかなかその先の考えるフェーズまでいかない。コピペして、ちょっといじってみて浅く終わる。深さがない。後で思い出したときに何も残らない言語やアセンブラづくりにせよ、本質的なアイデアを表面的に理解するだけで終わってきた。それはそれでいいが、一歩進みたい。どうすればいいんだろうか。

結論

解説を読んだだけで応用やその先の機能追加までできるようになる、というのが傲慢なんじゃないかと考えた。解説は、作者というソースコードからコンパイルしたようなものだ。元のソースコードのコメントは復元できない。作者の背景知識があったからできたことであって、成果物だけで作者の背景知識を再現できるわけがない。1つを書くためには10の資料が必要、みたいな話だ。

周辺分野を掘り下げて調べてみて、それでできなければ再度考えることにする。

背景

長期的にどうなりたいかを、↓のように考えている。

  • 自分が普段使っているツールを理解するだけでなく、自分で機能追加したい
  • まだ解説されてないものを自分で調査して切り開けるようになりたい
  • オープンソースの実際の問題を解決したい

問題点

どうにかするために色々読んだり実装している。しかしさほどうまくいっていないように見える。たとえばGo言語でインタプリタを作る本を読んだとき。

  • 解説コードをちょっといじってみて終わる
  • 解説以上のことができない
  • 覚えてない
  • 応用できない
  • 議論できない

つまり。

  • 読み込みの吸収率が悪い
  • 基礎 → 応用に溝があるように見える

といった問題意識がある。

本の理解度が高くないというのはあるが、そもそも解説は応用することを目標にしてないように見える。Goで言語を作る、というような本はガイド付きツアーのようなものだ。険しい道のりの先にある風景を見せてくれる。根本にある概念はシンプルなことを伝える。しかしガイド付きツアーに行ったからといって、ツアーを組めるようにはならない。オレがやりたいのはツアーを組むことだ。

だから、もっといろんな本にあたってみて、それでできなかったときに考えることではないのか、という結論になった。

関連