たまには力を抜いてプログラミングしましょう
今年度は募集開始がかなり遅くなったにもかかわらず、例年並みの応募がありました。最終審査会では、昨年にも増して力のこもったプレゼンテーションを見せていただきました。今回も個人部門の優秀さが目立ちました。もちろん、チームワークで作り上げた団体部門の力作も見応えありましたが、黙々とコードを書くけなげな姿が目に浮かぶような個人作品が多かったようです。
自分のパソコンを買ってもらうことができず、もっぱら放課後の部活動で作品作りをしたという個人作品もありました。理由を聞いてみると、自宅でパソコンが使えると、それにはまってしまう恐れがあるため、親から買ってもらえないという話でした。彼が自宅でプログラミングを始めたらどんなプログラムが期待できるのだろう?!と思わざるを得ませんでした。
プログラミングの作業では、ときに孤独との戦いを強いられます。全力でコードを書いたものの、デバッグに手間取って挫折してしまったということもあるでしょう。そんなとき、肩の力を抜いて作業してみることも大事です。C言語のバイブルとも言える「The C Programming Language」の著者の一人であるカーニハン(Brian W. Kernighan)氏は次のようなことを言っています。
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. (Brian W. Kernighan)
要約すると「そもそもデバッギングはコーディングよりも2倍難しい。だから、あなたができる限りかしこくコードを書こうとするならば、その定義からして、あなたはそれをデバッグできるほどかしこくはないのだ。」となります。
皮肉っぽい言葉ですが、デバッギングとコーディングの関係を上手く表現している言葉です。自らの知恵を振り絞るには、コーディングとデバッギングがバランスよく行われる必要があります。
若いみなさんには効率ばかりを追い求めるプログラミングをしてもらいたくはありません。ひたすら自分を表現するための作業としてプログラミングを楽しんでください。ただ、行き詰まったときには、ちょっとだけ肩の力を抜くことも大事だということです。受賞者のみなさんには、ありあまる時間と限りない可能性が与えられています。自分の力を信じて、これからも新しい作品作りにチャレンジしてもらいたいと思います。
受賞者のみなさん、おめでとうございます。そして、今後の健闘に期待します。
2014年2月10日 小泉 力一
|