統一理論と帰結

プログラムというかなんでもなんだけど、
覚える上で大事なことは、ある概念はある概念に帰結するということが往々にしてあるそれを理解すること。
これが大事。
ひとによっては本質っていうのかもしれない。


私は、宇宙とか量子力学とかが好きで
その手の本は100冊以上読んでる。
ニュートンはそれまで、
太陽の周りを回っている地球の運動法則

リンゴが地面に落ちる力が
全くの別物だと考えられていたのを、
重力という概念で同じものに統一・帰結させた。


アインシュタイン
重力と加速度運動を時空という概念で統一・帰結させ、
一般相対性理論を作り上げた。


というように、一見全く違うように思えても、
一歩引いてみたり、すると、
同じ考えに基づくものだということに気づく。


プログラムは自然ではなく人間が作り出した理論(パソコン)の上で動くものなので、全てが帰結する。


例えば、10という定数があったとすれば、
それは実行時にint型の変数と同じ振舞をする。
ただし、値を変えることは出来ないけど。
逆に、int a = 20;
と有ったとすれば、
aは実行時に変数でもあり、20という値でもある。
(つまり定数と変数は本質が同じもの)


20 * 30
ができるなら、
int a = 20;
int b = 30;
a * b;
が出来ることは想像に難くない。

配列もいっしょ。
int[] a = new int[10]
int b;

配列aはint型の変数が横ならびになってるだけなので、
a[0]とかa[2]とかbはint型変数。
aはint型配列

といった具合。
覚えるもの覚えるものが全て別の考えの上で出来たものだと考えると、覚えることがメチャクチャ増える。
でも、ある概念に基づいたものだと分かると、
差分だけ覚えればいいし、それを繰り返すと、
基礎となる概念が浮かびあがってくる。


他のものも、多かれ少なかれ帰結がある。
それを見分けることが大事だ。