Seiichi Yonezawa — How creativity is helped by failure

開発日記 #46

GW期間中は何か形のあるものを作ろうとしていたのですが、今年はうまくいきませんでした。というのも、以前紹介した「川渡り問題」を未だに解こうとしているのですが、微妙に進捗はあるものの根本的な解決にはまだまだたどり着くことができません。

もともと私のバックボーンはそこまで複雑なアルゴリズムを解いたりすることもなくここまで来たおかげである種プログラミングは楽しいもの(簡単なもの)というように捉えることができたかもしれません。これは趣味以外でも当てはまっていて、確かに今まで手がけて来た中でもっとも複雑なアルゴリズムといえば、全角と半角文字が混在している文章を特定の字数以上で折り返すとかそんなくらいで、それ以上難しい問題は求められてきませんでした。

関数型言語のフレーバーも最近ようやく取り入れられつつあるので、例えばmapとかfilterを駆使したお陰で日々のプログラミングはとてもわかりやすいものになっています。ただし、これが二分探索とか、ソートなどのちゃんとしたアルゴリズムを今まで軽視しつづけてきたせいで、これまでプログラムを書いて来た自負があるはずなのに、まったく身になるものがなかったのではと感じつつあります。

あまり公にしてはいませんが、今の現状に満足してはいるものの、ずっと物足りなさを感じているので、アルゴリズムに対する造詣が浅い今のままではたぶんこれ以上上を目指すこともできないのかなと感じています。

かといって、今まで手をつけていなかった領域でも活躍できるかというと、そんなことはないので、ウェブの世界も常に新しく変わり続けているのであまり放置することはできないのですが、アルゴリズムの理解と習得に対してここ数年でもっとも関心が高くなっています。もうひとつ本音としては、ろくにアルゴリズムも書けないとゲーム一つも満足に作れないというので、ここ最近身になるコードは書けなかったのですが、これからは気持ちを改めて精進していきたいなと思っています。