根本を理解することの大切さ

カテゴリがプログラミングかどうか迷ったが、内容がプログラミングのことだったのでここに。
以下とあるIRC

20:29 (yut) 特異クラスマジむずい
20:29 (yut) これ納得してから帰る
20:33 (fuk) 特異クラスってこんなやつじゃ・・・
20:39 (yut) それはわかるんですが
20:39 (fuk) コピったのでみすってる
20:39 (yut) ないぶてきにどうなってんのかと
20:40 (fuk) なるほど
20:40 (fuk) class に << インスタンス
20:40 (fuk) 分かりにくい・・
20:41 (fuk) 上書きしちゃってるとか?
20:41 (fuk) 違うか・・
20:42 (nag) ObjectクラスってCで書かれてるのか・・・
20:43 (yut) 特異メソッドを定義すると、元のクラスを継承した無名クラスが生成されて、特異メソッドはそこに属するっぽい
20:43 (nag) 無名クラスあまり分からない・・・勉強不足だな〜
20:44 (hame) 足なんて飾りです。偉い人にはそれがわからんのです。
20:44 (fuk) 無名クラス・・

これはrubyのコードについて話ている時だが、勉強になると思ったのは、yutの発言。
「特異クラスまじむずい」というやつ。このむずいとは、文法が分からないとかでなく、内部的にどうやっているのかが
難しいということだった。


この人の理解レベルは高い。理解レベルには「何も理解してない」「感覚的になんとなく理解している」
「表面的、例えば公式レベルで理解している」「その公式の原理を理解している」「公式を証明できる」等色々あると
思うが、yutさんは最後の2つのレベルだろう。


僕の場合は公式レベルだった。こう書いたらこうなるだろうというまでしか考えていなかった。数学とかの場合は最後の
2つのレベルを考えていたのだが、プログラミングでは忘れていたな〜。やっぱり根本を理解することが大切だろう。
ただ、最初から根本は何だろうと考えてしまうと、枝葉につまったりして伸び悩んだりすると思う。基本をつかんでから徐々に深く考えていけばいいのかなと思う。


大切なのは「根本を知りたい。どうなっているのかなと思う姿勢」だろうか。確かにできる人って、何かと考えてるな。考えることも多いけど、それ以前に「何故だ」と思うことが多いのだと思う。問題意識が強いのだと思う。勉強になる。


ちなみに、yutさんはかなりできる人である。大勢の人から認められている有名人。