それは長所なの?

Geekなページの、

良いプログラマの見分け方

と、小飼さんの、

良いブロガーの見分け方x10

より。まぁ結局どっちも同じようなことを言ってるんだけど、この中の「6」がちょっと気になる。

どちらも「納得出来ないことは納得したがらない」ということ。まぁ私も納得出来ないことは納得したくない。技術的にも信条(心情)的にも、納得出来ないことには納得出来ない。たとえば直前のエントリの「なにゆえ回線事業者に過ぎないUCOMはコンテンツにまで口出しをするのか?」なんてのはその一端。技術的なものでも、RoR流行りの今時に、自分でウェブサービスを始めるために、そのフレームワークやウェブサーバまで(実はデータベースエンジンも)作ってしまうというのは、「頭いい」人達からしてみれば「狂気の沙汰」に見えるだろう。でも、やっぱり「納得したもの」を納得しながら使いたい、特に自分のアイデンティティに関わるようなことについては、その思いは強い。

とは言え、実はこれは自分にとっては

欠点

だと思っている。なぜなら、それは柔軟性を欠く態度でもあるからだ。

UCOMはC/Pのいい回線業者だ。だから、多少気に入らないことがあっても、はいはいと言うことに従っておけば、そのまま安い回線が使える。OCNはあまりガタガタ言って来ないけれど、(私が使う限りでは)UCOMよりはC/Pで劣る。UCOMがガタガタ言って来るとは言え、「結論」という意味で言えば

私の結論と大差ない

わけだから、曲げられないものを曲げるという程のことではない。

RoRが気に入らないフレームワークだとは言え、プログラムは書きやすいわけだし、今そこに使えるものがある。多少気に入らない部分があっても我慢出来ない程じゃない。それよりはサービスを早く開始出来る方がいいに決まっている。

つまり、「納得出来ないもの」であっても、どうしようもなくダメであることは実はあまりなく、曲げて曲げられないことはない。やれば何とかなる程度のものであることが多い。それなら妙に我を通すべきじゃないんじゃないの? と

大人の私

がつっこむわけだ。

この雑文はWordPressを使っている。別にWordPressが好きなわけでもないし、PHPが好きなわけでもない。オープンソースではあるけど、私にとってはブラックボックスと同じ状態で使っている。本当は自前のblogエンジンを使って自分の納得の行くようにしたいと思うのだけど、それを待っていたら「おごちゃんの暴言」の後継になるページがいつまで経っても作れない。気に入らないプラットフォームだし、納得の行くものの上でやりたいのは山々なんだけど、「一番大事なものは何?」と思ったら、そういった「舞台装置」で納得することよりは、「舞台」そのものの方が大事だ。

だから、「本音の私」は嫌で嫌で納得出来ないのだけど、「目的」の前にそれを曲げているわけ。そうやって「曲げられる」ようになった自分が、「ちょっとは大人になったかなぁ」と思ったりもする。

ただ、それは「ちょっと大人」になっただけで、やっぱりそういった「納得出来ないもの」ってのは本質的には嫌いなことに変わりはない。

どんなことが嫌いかと言えば、たとえばプログラムの中でちょっとファイルをくっつけるために、system(3)を使ってcat(1)を呼び出して連結するなんて反吐が出るくらい嫌いだ。systemのオーバーヘッド、catの処理の中身、中間的なファイルを作ってしまうこと。どれを取っても納得行かない。

また、バッファを確保するのに「絶対入力としてはありえないくらいのバッファを確保して最初の方だけ使う」とか嫌いだ。長さを計ってから長さ通りに確保するか、読み切れるまでバッファを拡張しながら使うのなら納得する。だって、想定よりもデカいデータが来たらどうするんだ? ほとんどの領域は使われないよ? とか思って納得行かない。基本的に「富豪主義」はあまり好きでないのだ。それで可読性が上がっても。

ウェブサービスをやるのに、PHPやperlやRubyが混在するのが嫌いだ。どうせなら、どれか一つでやってくれ。それなら考える余地がある。Rubyなら納得が出来る。

ここで挙げた例はどれも「durtyだけどちゃんと使えるし特に問題がない」のだけど、「私が納得出来ない」ものだ。十分使えるんだからそれで納得するべきなんじゃないかと思うんだけど、「美しさ」が感じられないので、どうにも納得出来ないのだ。私はそんな自分を

柔軟性が欠如している

自己批判するのだ。冷静に考えれば、どう考えても、細かいことに拘ってしまって、本筋を見落す元になってしまっているからだ。

むしろ、「手段として納得出来なくても、ちゃんと出来ていれば納得する」ことの方が大事なんじゃないかしらん。「納得しなくていいよ」と言われるのは、気は楽ではあるんだけど。