「経済学と似ている」というのは未科学ということだからね。
http://www.symmetric.co.jp/hiyama/SoftwareEngineering.htmの話。http://d.hatena.ne.jp/kilrey/20090226#p1とも関連する。
大事なことなので二度引用する。
僕自身は、ソフトウェア工学を、「どうでもいい(したがって、あまり役に 立たない)ソフトウェア工学」と「まっとうな(役に立つと期待できる)ソフトウェア工学」の2種類に分けて考えています。アジャイル派の人々から目の カタキにされているソフトウェア工学は、どうでもいいほうのソフトウェア工学ですね。実際、「ソフトウェア工学」と冠した書籍や記事のなかには、しょうもないことを述べているものもあります。
この文章を読んだ際に「"「ソフトウェア工学」と冠した書籍や記事"の大半はしょうもないことを書いているけどなあ」と思っていた。その疑問が解けた気がする。
経路による劣化。
「ソフトウェア工学」には
がある、という点までは同意できる。しかし、"「ソフトウェア工学」と冠した書籍や記事"には
に加えて
- まっとうなソフトウェア工学をグダグダにしたどうでもいい書籍や記事
があり、大半は最後のグダグダなものなのではないだろうか。
「ソフトウェア工学」は未科学。
私が思いつくまっとうな「ソフトウェア工学」は
に集約される。
ここには「ソフトウェア工学」の専門家がいない。もちろん「ソフトウェア工学」の専門家の言う内容もそれほど違うわけではないのだから、他の「ソフトウェア工学」がどうでもいいものだというわけではない。しかし、UNIX哲学は工学ではない。あくまでもただの"philosophy"=指針/信念だ。誤差測定どころか再現性すらないものを工学と呼ぶのは不適当だろう。
〆。
私はアラン・ケイのOSプロジェクトこそが工学だと思う*1。あれはシステムの複雑さをソースコード量=情報量の下限値として探る実験だ。結果として得られたソースコード量は真の下限値に対する良い近似になるだろう。他のOSのソースコード量がその下限値を超えている分は
- 対応環境を増やすためのコンフィギュレーション
- 高速化のためのダーティ・ハック
- 単なる余剰
といったものなのではないだろうか。
実際のところ、「対応環境を増やすためのコンフィギュレーション」と「高速化のためのダーティ・ハック」とが結びつくとソースコード量が際限なく増える。Windowsくらいになると大半がそちらに属するのではないかとさえ思う。