発想

「ご期待に添えるべく、日夜頑張っております。」

Ruby で開発してるおかげで、Rails と比べられてしまう。いや、Ruby で開発してるおかげで、Rails と比べてもらえることを幸運だと考えることにしよう。

いきなり関係ない話を。

去年までは、発想を進化させて行くのはディスカッションだと考えていた。茂木先生のブログや本にも似たようなことが書かれていて、大きくうなずいたんだけれども…。ここのところ、あまり余計なことを考えずに一心不乱にコードを書いていると、必ずしもそうではないかもしれないと思うようになった。コードを書いたり、実際に動かしてみたり、問題に遭遇したりすると、少しずつ考えが進化していく気がするのだ。なんだ、一人でも発想を進化させられるんぢゃないかぁ…と気付いたんだが、コンピュータとディスカッションしていると言えるのかもしれない。

要は…。発想を表に出すことが大事なんだろうな、きっと。人と話すことによって、頭の中を整理できたり、説明のために比喩を探しているうちに違う視点を見つけたり、相手から新しい概念を教えてもらえたり、いろいろつっこまれたりして発想が広がってゆく。コンピュータがエラーメッセージを出すのは、「あんたのゆーてることは、よーわからんなぁ…。」とか、「それは、こういうケースについて考えが足らんよ。」と教えてくれてるのに近いかもしれない。

すべてのプログラムコード *1 を覚えている訳ぢゃないので、しばらく前に書いたコードは少しばかり解読作業をすることになる。他人が書いた訳ぢゃないから、そんなに時間はかからないけど、考えていることがちょっとずれてたりして、違う視点を見つけたりする。そのあたりから考えると、過去の自分とディスカッションしているとも言えそうだ。

*1:コンパイル言語ぢゃないので、ソースコードと呼びたくないだけ。指してるものは同じもの。