40代プログラミング未経験から独学してみる

40歳未経験者がPythonプログラミングの勉強をメインに、読書や京都のことを書いていく。

難解な技術書を理解するためにやっていること。

こんばんは。

プログラミングやコンピュータ関連の技術書を読むのはかなり骨が折れる。

 

プログラミングの入門書とかならそれほど苦労せずに読めるけど、本質的なところまで理解しようとすると、オライリー出版の本のようなものまで読まないと、先に進めないことになる。

 

大学生の頃から数学や物理の難解な本を買っては読もうとしては、挫折していた。もう卒業してから十数年たつけど、大学生協や大学の近所の古本屋で購入して読んでいない本が家に置いてたりする。

その頃から「数学書のような難解な本をどうやったら理解できるのか」考えてきた。

それなりに読めるようになってきたと思う。

数学書だと、定義がはじめに書いてあって、続いて、定理、例題(補題)とある。そのパターンが延々続いていく。定義は抽象的であり、これだけ読んでもピンとこない。なので、定理とか例題とか、具体的な事例を通して理解しようとする。例えば、方程式だと、いろいろな数字を入れて結果をみたり、変形してグラフに書いてみたり、いろいろ試してみる。「定義があらわしているのは、こういう意味かな?」「ここで矛盾するからこういうことかな」。それでも「理解した」という感覚までにはいたらない。すぐに分からないからといって、イライラすると余計分からなくなる。なので、時間を気にせず、焦らずに定義とか例題をあれこれいじってみる。その後、一週間くらいたった後に、もう一度、同じ定義例題をみてみると、ぜんぜん覚えていなくて、理解もできていない状態にきづく。それじゃあ一週間前にやったことは全くムダだったのかというと、そうでもなくて、頭の中のどこかには残っているようで、勉強し直すと、前にやったときよりも、馴染んでいることにきづく。それでもまだ腑に落ちるまでの感覚にはならない。一時間の勉強をやったら、明確に、例えば英単語を20個暗記する、みたいに一時間分の成果が上がるものと思ってると挫折する。一時間くらい考えたり、試行錯誤してから、一週間後にもう一度試してみても、あまり状況は変わらない。それでも、三回、つまり三週間ほどやってみると、いつの間にか馴染んで来て、理解出来ている、わかっている、腑に落ちている状態になっている。いつもこのようにうまくいくわけではないけど、「熟成」するようなイメージを持っている。

あと、これは数学科出身の塾講師が言っていたのだが、定義、定理は、すぐに自分で再現(書き出したり、そらんじたり)できる状態になっておく必要があるみたい。もちろん、単なる暗記ではないと思うが、これなら訓練次第でなんとかなりそうだと思った。

「暗記」と「理解」を対立するものと考えがちだけど、まずは暗記してから理解に至るものなので両立するものかな、と思う。理解するには暗記が必要で、暗記だけで終わらせるのではなくて、さらに腑に落ちるまで試行錯誤してみる。暗記してもムダなのではなく、暗記までで止まっていて、理解するまで至らないから、ダメなのかなと思う。