Tweet

オープンソースプログラムの質

下の「ソースコード」の話から続くのだけど.

かなり前から議論になっている話に

オープンソースのプログラムはクローズドソースのプログラムより質は高いか否か

というものがある. 質が高い,という話もあるし,いや,大して変わらん,という話もある.

私は「質が高い」ほうに一票,かな. やはり人間「見栄を張りたい」とか「ええかっこしたい」という意識はあるわけで. 「人に見せるぞ」という意識があるだけで,プログラミングに対する態度は変わるんじゃないかと思う. というか,少なくとも私の場合はそうである.

あと,上記の問題には「どのレベルのプログラムを比較してるんだろう」という問題もある. 確かにトップレベルのプログラムどうしなら「大して変わらん」ということもあるかもしれない.

が,トップレベルでないような場合はどうだろう? クローズドソースなプログラムの場合,予算とかの諸々のしがらみでそれを使わざるを得ない,という場合が多いと思う. が,オープンソースソフトの場合,利用に関しては自由であることが多いので,予算に関して制限があるような場合でも最高のオープンソースソフトを利用することができる.

実際,こんなお遊びで立てたようなサイトでも apache という,最高レベルのオープンソースソフトを利用しているのである :)*1

ソースコード

とある C のソースプログラムを読む. 見れば見るほどわけのわからんプログラムで頭を抱えてしまうのだが,まぁ,これも仕事だ. さすがに昔見た「プログラマ生命にかかわりそうなほど」ひどいプログラムではないが.

そういう「お近づきになりたくないプログラム」は「Cプログラミング診断室」あたりにたくさん例と解説があるのだが,やはり一定のパターンがあるようだ.

こだわりのあるスタイル
この手のプログラムに限って,いわゆる K&R スタイルから離れたやつが多い. まぁ,それ自体は問題ではないのだけど,そんなところにオリジナリティを発揮しても意味はない. そういうところは素直に「長いものに巻かれた」ほうがいいんじゃないのかなぁ. もちろん,こういうプログラムを読むには indent コマンドを駆使するに限る.
長い関数
kterm を最大化しても 1 画面に収まりません X-(
複雑な条件分岐と深いネスティング
関数の長さと組合わさると,最強です. 脳味噌が飽和してしまいます.
読み手に間違い探しを強要する文の繰り返し
多分「こぴぺ」したんだろうと思うけど,ほとんど一緒で微妙に違う文の繰り返しが多い.
UNIX プログラム風ではない名前
typedef とか #define とかでみょーな名前の型を宣言していたりする. まぁ,今回のプログラムは Windows のものを移植したらしいので,そういう事情もあるのだろうけど…

しかし,もっと大きな罠が待ち構えていた. 基本構成から意表を突いたものになっていたのである. まさかこういう方法でプロセス間通信をやろうとは… 全くをもって油断ならない.

うぅ

何か風邪っぽいなぁ.

というわけでとりあえず,ビタミン C をたっぷり取って,葛根湯を飲む.


*1 っつーか,OS からして Linux だ

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2004-05-11 (火) 23:17:24 (4965d)