B級SF 「ヒルズに恋して」

「ドラマに見る「緊急対応」に対する一般的イメージ」
http://blog.livedoor.jp/nipotan/archives/19009730.html

オレンジニュースで知ったが,ギャグだと考えればよくできている.アルマゲドンやインディペンデンス=デイ,マーズアタックあたりといい勝負だ.*1金のかかったサーバーにあっさりとウイルスが侵入したり,それをツールも使わずに手作業で除去したり(まさかレジストリ改変?),まあおよそあり得ない.*2

「ある日突然,『新型ウイルス』に感染し,その時に『偶然』居合わせた人物が新種のウイルスを『手作業で』易々と除去した」ということがもしあれば,私ならその人物が犯人である可能性をまず疑う.いくら天才プログラマー*3だったとしても,バイナリを解析してウイルスの詳細を特定するにはそれなりの時間がかかる.このドラマの感じだと,この人物はここで見る以前にそのウイルスを詳細に解析したことがあるに違いない.本職がアンチウイルスベンダーの技術者とでもいうのでなければ,ウイルス作成者本人である可能性は無視できない.


http://s03.2log.net/home/programmer/archives/blog38.html
こっちの方はリアルだな.ここまで酷くないにせよ,似たようなレベルの技術者が作ったコードなら読んだことがある.仕様書はもちろん,満足なドキュメントやコメントもない*4.予想通りにコードの可読性も最低だし,基本設計もド下手糞.既に完全にスパゲッティ化していて一から書き直した方が早いくらいなのだが,この最も合理的な判断は上司により却下され絶対に受け入れられることはない.デスマーチは技術的な問題というよりは経営的な問題であるということがよく理解できた*5.ソフトウエア開発を理解していない人間がマネジメントの真似事を続ける限り,こういう失敗は何度と無く繰り返されるのだろう.

給料の単調減少や,結末まである意味で同じ.実にすがすがしい気分だ.

*1:SFファンからすると,これらは全てジョークでしかない.

*2:技術的な難易度の問題ではなく,単に普通では考えられない.アンチウイルスソフトもインストールしていない個人用のパソコンとはわけが違う.たとえるなら銀行の金庫室に空き巣が入るようなもの.

*3:この単語自体がいかにも俗人的だが.

*4:よく誤解されるが「ドキュメントを書け」と言っているのではない.可読性の優れたコードと適切なコメントは下手なドキュメントより100万倍役に立つ.その場合はドキュメントを使うまでもない.可読性の劣るコードに冗長で無意味なコメントを書くような場合は,ダメで元々,藁にもすがる思いで最終手段としてのドキュメントに頼ることになる.しかしそういう場合はドキュメントさえもなかったり,あってもガラクタという場合が多いようだ.これは考えてみれば不思議でも何でもない.ドキュメントを記述する能力と可読性の優れた良質なコードを記述する能力は共通要素が多い.良質なコードが書ける人はドキュメントも書けるし,コードが汚い人はドキュメントも汚い.クラス設計とAPIドキュメントだと,この傾向はさらに強くなる.

*5:デスマーチを予測することは案外簡単なものだ.竹槍でB29を落とせと言われれば,誰だって負け戦であることは予想がつく.「戦わずして勝つ」のが最も優れた将だというが,B29相手に竹槍で戦うということは「戦わずして負けている」のである.B29を落としたければそこまで届く高射砲や高々度戦闘ができる戦闘機を開発すべきで,それが用意できなかった時点で既に勝敗は決している.デスマーチは既に敗北した後も,そのまま神風特別攻撃隊風船爆弾などを使って形だけ徹底抗戦しているにすぎない.それこそ最後の一兵卒が倒れるその日まで.