- 学習と着想

2005/11/06/Sun.学習と着想

「思い付き」にも理由があると考えている T です。こんばんは。

普段なら流してしまうのだけど、そこをほじくり返すと、意外に面白いものが出てきたりする。我が日記は、そのような発掘物を陳列しているようなものだ。コレクションの本質にも通じることだが、並べることによって、また新たに見えてくるものもある。最近では、それらを体系的にまとめることができないか、ということを考えている。

鴬ボール

鴬ボール
鴬ボール

「鴬ボール」という菓子がある。植垣の「鴬ボール」は商品名であって、つまり固有名詞である。これの一般名詞が「バクダン」であるということを、この歳になって初めて知った。「絆創膏」という一般名詞より、「バンドエイド」という商品名の方が通り良いようなものか。っていうか、植垣の鴬ボール以外のバクダンを見たことがなかったんだけどな。

鴬ボール、いや、バクダンの話を周囲にしてみたところ、この菓子の形状の説明に 2種類の比喩が使われた。

俺の比喩だけが皆と違っていた。俺がどちらの比喩を用いたか、あえて書くまい。

Web 日記

サイトのプログラムを少しイジる。素人ゆえ、最初から完成されたコードが書けない。大抵の場合、3つのステップを繰り返すことになる。

  1. とりあえず動くようにする。
  2. 1. を最適化する。
  3. 機能を付け加える。新機能を動かすために 1. に戻る。

今日やったのは 2. の作業。したがって、見た目は何も変わっていない。しかし、これが一番楽しい。この作業の達成度は簡単な目安によって評価できる。全ての場合に当てはまるとは思わないが、「コードが短いほど、そのプログラムは正しい」という経験則がある。俺もよく実感する。

プログラムは数学の問題と似ている。正解に至る道は何本もある。しかし、その中でも効率には差がある。力技で問題を解くのも一つの数学力だが、公理などを用いてスマートに解くのもまた数学力である。プログラムも同じようなものだ。時間を置いてコードを読み直すと、「もっと効率の良い方法があるやん」と気付くことがしばしばである。慣れれば、最初からスマートに書けるようになる。これを学習という。学習の要諦は反復にある。

コードが短くなることによって、プログラム全体の見通しが良くなる。そうすると、「ここに処理を追加すると新しい機能が生まれてくるのでは」ということに思い至る。これが着想である。「天啓」という言葉にもある通り、どうもアイデアやらヒントというものは「天から降ってくる」というイメージがある。だが、それは違うんじゃないか。俺には、大地から植物が芽を伸ばし、やがて花が咲くように着想が訪れるという感覚がある。天には何もなくとも良いが、開花には大地が必要である。その違いだな。