独学プログラミングハック

プログラミング独学をハックする初心者のためのTips

「理解するためのガイド」

直感的には、物事を理解するには、読解(解像度を高めていくこと)が重要だと思いがちだけど、実は抽象化が重要だと最近気づいた。

なぜなら、抽象化は、次回以降見つけやすく、使いやすく、想起しやすくする作業だから。

 

そもそも、「理解する」という言葉は、「答えに辿り着いた」というだけでなく、「それにいつでもたどり着ける状態になる」ことを指す。

だから、読解して答えに辿りつくというだけではまだ不十分で、また同じ思考の経路を辿ってその答えを得られるようになる必要がある。

 

それは、モノを探すことと同じだ。

押し入れや机の中と同じで、自分が探していたものを見つけることも重要だが、そのまま放り出しておいたら、しばらく経ったらまたどこに行ったかわからなくなる。

頭の中で、読解して理解したつもりでも、人は忘れるので、次また必要になった時に見つけられなかったりする。

その時になって、理解した気になっていただけだったということに気づく。

つまり抽象化していないと、理解した状態にはならないんだ。

だから、また押し入れの中の大捜索から、つまり読解から始めないといけなくなる。

 

読解は、答えを見つけていく作業と言える。

押し入れの中で、「探し物」を見つけた!、というのは、読解であって理解ではない。

それを他のものと区別できる箱に入れて、フタに「タイトル」のラベルを貼り、次回以降探しやすい場所に置くことが理解するということなんだ。

 

そしてそれが抽象化であり、読解したことを自分の言葉で「まとめる」ということになる。

読解して、抽象化することを合わせて「理解する」ということなんだ。

 

「読み解いた」というのは事実であって、

「理解した」というのは状態だ。

いつでもその思考を辿って、その答えを得られる状態。

なので、理解を確認するには、何度もそこに辿り着けないといけない。

人に目的地までの案内を、説明できないといけない。

 

そこまで読解を伴わない、単純な手続きであれば、わざわざ抽象化する必要はないんだと思う。

でも、少しでも難解な概念などを理解しようと思ったら、抽象化して次回以降見つけやすく、使いやすく、想起しやすくする作業が必要なんだ。

なんだか難しいな。