今日の講義でポインタの説明があって、その中で先生がポインタを理解するまでこんなに苦労した!みたいな話を聞いた。
それを聞いたときから、自分はいつポインタっていう概念を理解したんだろうって考えているんだけど、どうも分からない。
C/C++ とかを殆ど書いたことがなかったので、実際にポインタに触れる機会は今までなかったといってもいいと思う。でもいつの間にかどういうものかっていうことは理解していて、なんか不思議な感じがする。
いろいろ過程を辿ってみたんだけど、もしかしたら Ruby 触り始めてからかもしれないなぁと思った。Ruby の破壊的メソッドの理解の過程で、「変数」に対する考え方が変わった (箱という理解から、名前・ラベルという理解へ) とき、ポインタを理解したのかもしれない。メソッドに渡される引数が参照で渡される云々の理解かな。あとは拡張ライブラリの作り方とかでかなぁ。やっぱり正確なところはわからない。
で、先生の場合「ずっとわかんなかったんだけど、ある日起きたら理解していた」とか言っていて、ねー……あるあるwwとか思った。ポインタとかに限らず、なんか寝て起きたら視点が変わってて、あーなんだ、もっと簡単じゃーんみたいな。あれって結構感動的というか、好きなんだけど滅多にない。
時々すごく集中してプログラムを書くことがあって (滅多にない)、そういうときはもうずっと頭の中にある完成形まで突っ走ろうとする (寝ない) んだけど、アルゴリズムとか苦手だからちょっと難しくなるとすぐ躓く。それでもう諦めて、いいやーって寝て、起きるとなぜか思いついてコードが書けるっていう不思議現象。面白い。