--------------------
◆ プログラミングと宗教論争

--------------------

プログラミングは、それを知らない人には何もかもが論理的に見え、その書き方すらも統一されているような印象を受けることがあるらしい。
しかし、それは違う。
同じ要求を満たすプログラムを作ったとしても、特に規定されない限りは、そのアルゴリズムはプログラマによってバラバラになるだろう。そして例え同じアルゴリズムを用いたルーチンだとしても、そのコードは千差万別となるに違いない。

プログラマというものは、どうやら些細な問題にこだわる傾向があるらしい。
もちろん、プログラムに要求される仕様やアルゴリズムを全て満たした上で、だ。
DTPデイなーでもなく、そして他人に見せるために書いているわけでもないのに、コードに含まれる空白や改行、インデントの仕方に固執する。
状況にもよるが、それらが実際の動作に何ら影響を与えることは無い。

おそらく、他人には理解できない感覚なのだろう。
場合によっては同じプログラマ同士ですら理解できないことすらある。
独自の考え方によって整然と埋められたコードを、彼らは「美しいコード」と呼ぶ。


以下に示すのは、2つとも標準出力(画面)に、Hello, World! という文字を表示させるプログラムの一部だ。
両者はほぼ同じように動作する。
int PutString(void)
{
return printf( "Hello,World!\n" );
}
int Moji_Hyouji(void){
return printf("Hello,World!\n");
}
関数の名前や括弧の位置が違うだけで基本的には同じ。
しかしプログラマなら、両者の間に天と地ほどの差を感じてしまうことだろう。

流石にコレは極端な例だと言えるかもしれない。
しかし、彼らにとってコーディングスタイルという個々の信念は絶対に譲ることの出来ない問題である。
括弧の位置が少し違うだけで、親の仇かの如く言い争う。
理論的なプログラマらしからぬ、いや、すだからこそ細かなところにこだわると言うべきか。
こういった対立は、しばしば宗教論争に例えられるという。

むろん、実際には憎みあうようなことは無い。理論的な彼らなのだから当然である。
単に議論が好きなだけで、その結果には興味が無いのだ。
個人でプログラミングをしている限り、自身の考えに則ってコーディングすれば良いのだから。

それでも他人の意見を聞いてしまうのは、やはり好奇心だろうか。
プログラマを知りたければプログラムを読め。
ソースコードには彼らの内面がよく現れる。そういうものらしい。

さて、私はここで、好奇心から2つの質問をしたいと思う。
  1. 行頭カッコ派ですか? 行末カッコ派ですか?
  2. ハンガリアンには従っていますか?

[PR]
R.F.D. | by odprfd | 2005-10-01 14:30 | 情報技術

--------------------

<< バトン? | OD TOOL for TRP... >>