例えば大学で私は,コンピュータに手を触れる前に紙の上でプログラムを完全に理解しなければならないと教わった。でも私はそういうふうにはプログラムできなかった。私が好んだやり方は,紙の前ではなく,コンピュータの前に座ってプログラミングすることだった。しかも,辛抱強くすべてのプログラムを書き上げてから正しいことを確認するなんてことはせずに,めちゃくちゃなコードをおっぴろげて,それを次第に形にしてゆくのだった。デバッグとは書き間違いや見逃しを捕まえる最終段階の工程だと教わったけれど,実際に私がやっていたのは,プログラミングそのものがデバッグという具合だった。
そのことで私はずいぶんと長い間,引け目を感じていた。ちょうど小学校で教わった鉛筆の持ち方と違う持ち方をしていることに引け目を感じていたのと同じように。他のものを創る人々,画家や建築家がどうやっているかを見れば,私は自分のやっていることにちゃんと名前が付いていると気付いていただろう。スケッチだ。私の知る限り,私が大学で教わったプログラミングのやり方は全部間違っていた。作家や画家や建築家が創りながら作品を理解してゆくのと同じで,プログラマはプログラムを書きながら理解してゆくべきなんだ。
Paul Graham 川合史朗(訳) (2005). ハッカーと画家:コンピュータ時代の創造者たち オーム社 pp.26-27
PR