Cogito Ergo Sum.

我思う故に我あり

試行錯誤の重要性

 趣味でコンピュータ・プログラムを書いているような、独学系素人Sundayプログラマのプログラミング上達の近道は、自分なりに試行錯誤してみた後で、他人が書いた良いプログラムを見てみることではないかと思う。

 自分なりに試行錯誤してみると、参考にしたプログラムの良い点悪い点、自分のプログラムの良い点悪い点が少しずつわかってくる。自分で試行錯誤しないとプログラムの良し悪しを判断する視点が育たないから、他人のプログラムのどの点を学ぶべきかを見抜くことができるようにならない。これでは誰のプログラムを見たって参考にならない(参考にできない)。

 もちろんヤミクモに試行錯誤するのは時間がかかり過ぎる。効率的に試行錯誤して短時間で何かを学び取ることができるならそれが一番いい。ところが、効率的な試行錯誤の仕方そのものをどうやって身につけるかといえば、結局ヤミクモに試行錯誤するしかなかったりする。プログラミング入門書には、効率の良い試行錯誤の仕方は書かれていないから。

 「自分で学ぶ方法」を教えてくれるインストラクターが最高のインストラクターだと思うが、独学環境ではそんなインストラクターと出会うチャンスもないから、結局自分で試行錯誤してみるしかない。しかしそれも捨てたもんじゃない。何度も何度も失敗しているうちに、失敗から何かを学ぶ方法そのものが身についてくる。この点が、つまり、試行錯誤しているうちに効率の良い試行錯誤の仕方そのものが身についてくるという点が、試行錯誤の良い点ではないかと思う。