抽象化のステップ
人間の知識には、3つの基本的な構成要素があります。1つ目は客観的事実(たとえば、そこにいるネコ)、2つ目はネコの観念、そして3つ目は、他人とコミュニケーションをするためにその観念に当てはめた言葉(「ネコ」という名詞)です。
人が抽象的な観念を得る方法というのは、おおまかに2つあると思います。
1) 現実世界のアナロジーから新たに観念を得る
2) 既知の観念から新たに観念を得る
1), 2) のステップを繰り返すことで、観念のレイヤを積み重ね、より抽象化の度合いを高めていくわけです。
1) の現実世界のアナロジーというのは、例えば、初めて算術を学ぶ子どもが、自分の指を使って、足し算や引き算をやるといったもの。現実世界の人間の指のアナロジーとして、自然数という観念が獲得されるわけです。
2) は、自然数の除算という既知の観念から、分数という観念が得られるといった具合。こちらの方が、抽象化の度合いがより高いと考えます。現実世界から、自然数という観念のレイヤを得て、その上に分数という観念のレイヤを作り上げているからです。
分数というのは、子どもが初めて出会う、観念から観念への抽象化の例なのかもしれません。
スタジオ・ジブリの映画 「おもひでぽろぽろ」 に、主人公が、分数の割り算を、ケーキの切り分け(か何か、うろ覚え)のアナロジーで考えようとして混乱する、という場面が出てきます。
その場面で思ったのは、ケーキを切り分けるのに、分数は必要ないだろうということ。ケーキの切り分けのアナロジーは、あくまで自然数の除算なのだと思うわけでして。分数を使うことで得られるものがないように思います。
この場合、自然数と現実世界とのアナロジーで分数を考えようとしているのが敗因かなと。そもそも、現実世界にアナロジーを求めるのが間違いかもしれません。分数は自然数という観念から生じたもので、現実世界から直接生じたものではないでしょうから。
プログラミングを始めようとして何度も挫折した。
教えるプロみたいな人に教えてもらっても駄目だったし、尊敬している人に教えてもらったけどやっぱり駄目だった。
才能以前なんだろうな。必死さが足りないって言われた。でも必死になるってどういう事なのか全然判らない。
あと、前教えてもらったことを自宅で復習しても全然出来なかった。
何がわからないのかもわからない。基礎の問題とか出して貰っても判らない。用語や文法みたいなレベルで既に躓くというか。なんというか、「言葉」って何で言葉って言うの?みたいな変な疑問ばかり湧いてきて進まないんだよね。
こういう方は、抽象化というものに慣れていないのだと思うのですよね。プログラミング言語の記号の意味というのは、現実世界から遠く隔たったレイヤで定義されているわけです。従って、自分自身の現実世界での経験から、アナロジーを見出そうとしても徒労に終わるだけでしょう。
| 固定リンク

コメント