自己流学習法

「百聞は一見にしかず」、プログラムでもこれは変わらない。

たとえば、あなたは既にいくつものプログラム言語に習熟しており、また新たな言語を学びはじめたところだとしよう。
そこで既にその言語に習熟した誰かからさまざまなノウハウを見聞きし、そのまま導入したらどうなるだろうか?

確かに何も知らずにはじめるよりは遥かに早く使えるようになるだろう。
同時にいつ足元を掬われるかわからないという恐怖におびえることにもなる。
なぜなら、ノウハウの理由がわからないために、なぜ厳守しなければならないのか理解できないからだ。

理解できない理由は簡単だ。
人間はたとえどれほどデメリットが多かろうと、実際に体験するまでは本当の意味で警戒することは出来ないように出来ている。
つまり、実際に失敗してみない限り真の理解は得られないのだ。

なので、熟練と呼べる域を目指すならば、少なくとも一番最初の初歩だけは他人に頼らず、自分の力のみで進むべきだと自分は感じている。
それは余りにも多くの失敗を伴い、ちょっとしたノウハウ一つ知っているだけで乗り越えられるようなものに阻まれ続けるだろう。
けれど、それは原理の理解に役立ち、後に費やした時間とは比べ物にならないほどの効率化をもたらすはずだ。

もちろん一人では限界があるので、人に頼るのは悪くない。
ここであげた最初の一歩も、なぜなのか原因を聞くぐらいならばむしろ効率化をもたらすはずだ。
大切なのは、理解する努力を放棄し「とりあえず動くから良いや」と先に進んでしまわないこと。
理解が足りていないものが何かわからないのならばまだいい、だが、理解が足りていないとわかっているのに無視する事は多くの不幸をもたらすはずだ。
工夫せずとも無知で居られる唯一の機会なのだ、大いに活かそう。