計算機を使っていると、何でこんなことを覚えないといけないのだ ろうか、とストレスを感じつつも、それを覚えないとソフトウェア を使いこなすことができないためにしぶしぶ覚えなければならない、 といった類いのノウハウは多い。そうした雑多なノウハウのことを、 本来は知りたくもないノウハウという意味で、私はバッドノウハウ と呼んでいる。
バッドノウハウは、ソフトウェアの複雑怪奇な仕様が歴史的に引き ずられ、根本的な改善は行われないまま、そのノウハウが文書によっ て受け継がれることによって蓄積が進行する。Unix 上で広く使わ れているツールとしてはTeX, Emacs, sendmail, bind, perl, gnuplot, procmail などは、役に立つツールであると同時に、その 複雑怪奇な仕様によって長年に渡ってユーザを苦しめ続け、バッド ノウハウの温床として悪名が名高い。こうしたツールに関する書籍 やWeb上の情報などの充実は、バッドノウハウが文書によって受け 継がれていくという性質をよく表しているといえる。
バッドノウハウがはびこる大きな理由は、ソフトウェアの開発者に 使いやすさに対するセンスを欠如していたり、場当たり的な機能拡 張が度重なって行われたり、単に開発の手を抜くために実装が楽な ように仕様を決めてしまうといったところにあるが、別の理由によ るものも根深いと私は考えている。それは、そういった使いにくい ソフトウェアを使いこなす事に対して、「奥が深い」といって喜び を見出す「奥が深い症候群」によるものである。
一般に、マニアという人種は普通の人にとってはどうでもいいよう な知識を熱心に覚えることに喜びを見出すものだが、これが計算機 マニアになると「奥が深い」といってバッドノウハウを喜んで覚え る「奥が深い症候群」になりやすいようである。また、バッドノウ ハウを薀蓄として披露することによって、より一層の喜びを得ると いう心理的な働きも「奥が深い症候群」を進行させる一因となって いるようだ。
本来使いにくいソフトウェアが長年に渡って「奥が深い」定番とし てありがたがられ、そのバッドノウハウの習得にユーザが不毛な時 間を費やすことを強いられるのは、この「奥が深い症候群」に根 深い原因があるのではないかと考えている。
関連ページ
- バッドノウハウカンファレンス 2004
(発表資料とレポート)
カンファレンスで発表したバッドノウハウ講座 - はてなダイアリー - バッドノウハウ
- バッドノウハウからグッドラッパーへ ―「奥が深い」システムの改善方法―
その反応リンク集 - OOエンジニアの輪のインタビュー
- Unixの落とし穴
- プログラミングのノウハウ
- 2001年12月23日の日記
- 横着プログラミング 第10回: scmail: Scheme によるメールフィルタ
(最後の procmail恐怖症の部分)