エラーに対する考察(pro grammar 編)


この記事を読んで、そこそこプログラムをやってた人間の実感として「こうだよね」というのが感想をまとめる過程で整理できたので、せっかくなので書いておきます。

一般的な印象として「プログラムができるようになればなるほど、エラーは少なくなっていく」という風に思いがちなんですが、実は出すエラーの数自体はそんなに変わらない(下手したら増える)ような気がします。
これはもちろん「やってることのレベルが上がるから」というのもあるんですが、それよりもプログラマー自身の心理が「むしろ積極的にエラーを出したくなる」という方向に変わっていくことが大きく作用しているように思います。

自分からエラーを出したくなるってどういうことやねんって感じですね。
プログラムを始めたてのことは「上達してエラーが出ないようにしたい!」と、誰しも思っていたはずのなのに……

ですが、書けるようになっていくと、次第に気付いてしまうのです。

そう、ヤツの存在に――
それこそがプログラマーにとっての真の敵であり、そして最強の敵――「エラーは出ないのに何故か動かなくするなにか」というラスボスの存在に。

この真の敵の存在に気付いてしまうと、エラーとの関わり方がガラッと変わります。
それまでは「自分のコードを動かなくする厄介な敵」としか認識できなかったそれが、実は「ダメだったときにちゃんと教えてくれる頼れる味方(ただしポンコツ、かわいい)」だったことに気付くのです。
すると、プログラマーは「エラーが出ないことに安堵する」のではなく、むしろ自分から積極的にエラーの出るコードを書くことで「この書き方は絶対にダメだろう」という仮説を裏付けてくれる相棒の頼れる行動(エラーを出す)の方に信頼を置くようになり、やがて「よかった。エラーが出た……」とそちらの方に安堵するようになります。

完全にキマっちゃってる状態ですね。

そして、その経験をしてしまったプログラマーは「きれいな水と土(ツール、フレームワーク)では、腐海の木々(自分の書いたコード)も毒(バグ)を出さないと分かったの。汚れているのは土(ツール、フレームワーク)なんです!」という言葉に感銘を受け、ナウシカを神として信仰するようになってゆくのです。

これは誰しもがハマるアノ病で、いわゆる「最高のレストラン(アプリ)を作りたくて最高の素材(ツール、フレームワーク)を探していたら、いつの間にか農家(ツール開発者)になっていた」という本末転倒現象を引き起こします。
結果、その病におかされた人間は、大きくふたつの道のどちらを選ぶかを突き付けられます。
そう、「キッカケはどうあれ、農家をやってみたらめっちゃ楽しい!」と思える道と、「あれ、もともとオレがやりたかったことってなんだっけ……」とふと我に返る道のふたつです。

前者はそのまま幸せな道を突き進めるのですが、後者はとっても苦難の道です。
なにせ「汚れている土」を浄化しない限り、自分のやりたいことができないとすでに分かっている以上、やりたいことをやるにはまずそこから始めるしかないのです。

これはもう諦めの境地です。
やりたい、やりたくない、ではなく、やりたいことをやるためにはやるしかないのです。

ということで、土を浄化するために、それを生み出す人の意識改革の必要性に気付き、人を変えるには自分を変えるしかないという現実に直面し、自分を変えたところで山籠もり生活で仙人になってしまっては意味がないので、人里に下りて生きる決意をし、その人里で生活すること――すなわち「組織作り」こそが大事だという結論にたどり着き、後進育成をはじめ、いま僕はいったいなにをやっているんだろうかという自問自答をとりあえず考えないようにしながら、ひたすら理想のために現実と戦う道を突き進んでいくしかなくなるのです。
そう、汚れている土のうえでも健気に頑張っているドMを救うために――

最後にその男がたどり着き、生涯にわたって発し続けたただひとつの言葉はこれでした。

マナちゃん、かわいい。

この記事が気に入ったらサポートをしてみませんか?