昨日は間違いを指摘されるということについて話しました。

けれど、間違いを指摘されるというフレーズにいい印象を感じる人はあまり多くないでしょう。

人には自分が正しいと認識したいと思う強い、非常に強い欲求があります。自分を正当化したいという思いが強すぎて起きる問題は数多くあります。

次のような例を想像してください。

電車で自分が座っているときに、お年寄りの方が乗ってきました。だけど、席をゆずりたくありませんでした。そのときにあなたは思います。
「今は、私はとても疲れているんだから、席をゆずる必要はない」
「まわりもみんなゆずっていないじゃないか」
「あの人は席を譲られたら老人だと思われてると思って、いやな気がするに決まっているよ」

日常生活では自分を正当化する気持ちが間違っているときにそれをただされる機会はなかなかありません。自分の中にあるそういう感情の動きを自覚さえしないまま生きていけます。

しかしながら、プログラミングにおいては違います。プログラムの中に間違いがあったとしましょう。そのときにその気持ちをごまかしてやり過ごすことはできません。
あなたが自分をどんなに正当化しようとしたとしても、そのプログラムは実際に動いていないという事実は変わりません。

プログラムは間違いがあれば動きません。動かないからこそ、どうしても自分の間違いを見つけ、間違ったところを修正していかなければいけません。

プログラムを動かそうとする過程は、自分の誤りに気づき自分の誤りを直すプロセスになります。

自分の間違いに直面したときに自分の心の中に生じる抵抗はとても強いものです。

この抵抗を溶かしていくということがプログラミングを行うことの非常に大切な素晴らしい点です。

この抵抗をダイレクトに感じる頃が誰にでもあります。

自分の思い通りにいかないということでとてもいらいらします。貧乏ゆすりを始め、爪をかみはじめ、髪の毛をかしむしりながら、ぶつぶつとつぶやきディスプレイをにらみつけます。

しかしながら、このような抵抗を何度も感じる過程を繰り返すうちに自然と分かってきます。自分の中の連想が変わってくるのです。

動くものを作るためには自分の間違いに気がつくことが必要だということが分かってくるのです。それはとても必要な大事な過程だ、というように連想が変わってきます。

エラーが現れるのを見ても落ち着いていられるようになっていきます。1つずつその原因を考え、プログラムを動くようにしていくことができます。そこで心理的抵抗を感じることはありません。なぜなら、そうすることを当たり前だと感じているからです。このように連想が変わっていくとき、人は成長していると感じるものです。

そのように自分を成長していくと感じられる場、鍛錬の場を多く与えてくれるのがプログラミングなのです。

プログラミングは素晴らしいって思いませんか?