「プログラムは美しくなければならない*1」(祝一平)という言葉を聞いて育った僕としては、コードの見た目には気を使っているつもり。そして、もちろん設計上の美しさも目指している。まぁ、実際にできているかどうかは、また別の話だとしても。
ところが同じチーム内の仲間がコーディングしたソースを見ると愕然とする時がある。インデントが無茶苦茶だったり、ひとつの DB に対して複数のコネクションを張ろうとしたりする。しかも、僕よりもプログラマ暦が長いような人もそんな状態で。。。「美しさ」を追求しようとは思わないのか?
どちらかというとウチの会社は「プログラミングが好きで仕事している」というより「食うためにプログラミング。会社を離れればもう関係ない」的なアプローチな人が多いみたいな気がするので、結局この程度のものなのか?
僕は職業プログラマ暦がそれほど長くないし、他の会社ではこの仕事をした事が無いので自分のレベルとか思想がどの程度なのかサッパリわからない。「美しさ」を求める僕の考え、間違ってないよね?
*1 正確な言い回しを忘れてしまった。知ってたら誰か教えてください。
「美しいことのメリット」ね。美しい「プログラム」に関して言えば、美しいものはそうでないものに比べて次のようなメリットが上げられると思う。
他にもあると思うけど、今すぐ思い出せるのは極めてシンプルなこのくらいかな。ちゃんとした答えは「C/C++によるプログラミングスタイルブック」あたりにいっぱい書いてあったと思う。僕が読んだのはこれよりも古いヤツだけど。
まぁ、「プログラム」を「文章」に換えても似たようなことが言えるのかも知れない。読み易い文章、無駄の無い文章、バグのない文章(?)って感じで。そういう意味では、プログラムコードというのは一種の文芸作品なのだろうかね?
メモ。最近、Carbon Emacs でもことえりが使えたり、何やら面白いことになりつつありますな。
先生質問!美しいことのメリットってなんですか?
「プログラミング言語」って言うから、私もそう思います。