1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

101     1 0 1      

 拙著「ソフトウェアの法則」で公表したものを中心に、最近の情勢に合わせて一部手直ししました。新作もあります。上のボードの中から適当に選んで読んでください。

とうとう法則の数が100番台(3桁)に近づいてきました。随分作ったものです。番号表示のためのアイコンボタンは、2桁のものまでしか用意していません。新たに作るのも面倒だし、そろそろ法則も終わりにしようか、どうしようかと思案しているところです。

こんなのはどうでしょうか。


  これなら199番まで作れそうだ(
そんなに作れるかい!


【読む姿勢について】
 ここで、各法則を読む際の姿勢について、老婆心ながら一言触れておきたいと思う。読者は、法則の表面的な字面の意味を理解するだけでなく、その背後にある
 哲学 崇高なる精神 社会批判 いや、何と表現したらよいか‥‥つまりその‥‥そうだ、もの、背後にあるものを読み取る努力が必要である。そのためにはさらっと読みとばすのではなく 正座し 姿勢を正し  右のローソクの明かりが燃え尽きるくらいまで じっくりと時間を掛けて精読されることを期待する。
 
したがって、もし法則を読んでその意味が分からなければ、それは貴方(女)が世情に疎いか、ジョークを解さないか、あるいはコンピュータ関係の常識に欠けているかのいずれかであると思ってよい。もしそのいずれでもないとすれば、 それは 必然的に おしなべて もしかすると 滅多にないことだが 多分‥‥“法則”が駄作であった、いや、たまたま法則のできが悪かったためであろうと思う。許されよ。
 まっ、
適当に、 肩の力を抜いて “気楽な姿勢”で読むのが一番である。


























【幸運なプログラマの法則】

 幸運なプログラマとは、コーヒーカップを取り落とすと、その下にはどういうわけか必ず自腹を切って買った高価なマシンのキーボードがあり、テーブルクロスを汚さずに済む人のことである。
 不運なプログラマとは、コーヒーカップを受けとめるマシンもテーブルクロスさえも自腹では買えない人のことである。
























【プログラマに対する評価の法則】

 プログラマの給与は、プログラム作成に要した計算機時間の総和に正比例する。
 プログラマの能力は、プログラム作成に要した計算機時間の総和に反比例する。

【プログラマに対する評価の法則からの衝撃的結論】

 プログラマの給与は、能力に反比例する。

【プログラマに対する評価の法則からの衝撃的結論に対する反論】

 プログラマの給与は、能力に依存しない。

【プログラマに対する評価の法則からの衝撃的結論に対する反論への修正】

 プログラマの給与は、業績に依存しない。
























【アイディアの不確定性】

 何かアイディアを思い付くと、
 ・必ずメモ用紙が手近にない。
 ・メモ用紙の代りをやっと見付けると、鉛筆がない。
 ・鉛筆が見付かったときには、アイディアは思い出せない。

【アイディアに対するニコチン効果】

 ニコチン中毒のプログラマは、
 ・時として、良いアイディアが浮かんだと確信する。
 ・一服やれば、そのアイディアがまとまるような気がする。
 ・喫煙エリアに急ぐ間にそのアイディアは、はかなくも忘れ去られる。

【ニコチン効果に対するコメント】

 プログラマは一服やると、そのアイディアが錯覚であったことに気が付く。

【ニコチン効果に対するコメントへの修正】

 プログラマは、喫煙エリアに急ぐ間にアイディアが消えたと思いたがる。
もともとアイディアなど思い浮かんでいなかったという厳然たる事実には決して思いが至らない。


‥‥「タバコの吸い過ぎには気を付けましょう」

【注】よく見かけるこの断り書きの真の意味を理解するのは、「ソフトウェアの法則」を理解するよりも格段に容易である。これは「たばこを吸うと必ず病気になります。しかし(発売元は決して)その責任を負いません」という意味である。プログラマ諸君よ、“タバコの吸い過ぎには気を付けましょう”
























【結合則の怪】

 虫のあるもの虫のあるものを結合すると、虫のあるものになる。
 虫のないもの虫のあるものを結合すると、虫のあるものになる。
 虫のないもの虫のないものを結合すると、やはり虫のあるものになる。

【否定則不成立の法則】

 プログラマの熱い期待にもかかわらず、二度間違えると正しいプログラムになる、ということはない。
























【軽度の心身症の診断法】

 世の中のすべてが自分を中心に回っているように感じられたら、早く家へ帰って休養した方がよい。ジェットコースターの乗り過ぎである。

【強度の心身症の診断法】

 すべての人の視線が自分に集中し、自分の一挙手一投足が監視されているように感じられたら、これは大変まずい状況にある。従業員バッジを付けたまま電車に乗っている可能性が強い。

【極めて危険な状態の心身症の診断法】

 すべての物が自分に向かって突進し攻撃してくるように感じられたら、これは極めて危険な状態である。自分の車が反対車線を走行している可能性が強い。
























【マニュアルの厚さに対するパーキンソンの法則の適用】

 マニュアルの厚さは、そのソフトウェアのパッケージが値段に見合うボリュームになるまで増大する。

【ファイルサイズの法則】(上記法則の改訂版)

 ソフトウェアのヘルプファイルの大きさは、そのソフトウェアの値段に見合うボリュームになるまで増大する。

【マニュアルの分かり易さ】

 マニュアルの文章は、既にその使い方を知っている人にしか理解できないような言い回しで記述されている。

【マニュアル批判の公理】

 マニュアルに対するいかなる批判も、必ず正当化される。
























【昔ながらのプログラマの追及の手順】

1.プログラムが思い通りに動かなければ、机上デバッグを行う。
2.机上デバッグでうまくいかなければ、マシンデバッグを行う。
3.マシンデバッグをしてもうまくいかなければ、人のせいにする。
4.責任をなすり付ける相手がいなければ、マシンのせいにする。

【最近のプログラマの追及の手順】

1.プログラムが思い通りに動かなければ、マシンデバッグを行う。
2.マシンデバッグがうまくいかなければ、人のせいにする。
3.責任をなすり付ける相手がいなければ、ところ構わずキレル。
























【楽観的プログラマの夢】

 “自動虫下しソフトウェア”の開発。

【楽観的プログラマの悩み】

 “自動虫下しソフトウェア”のデバッグ法。

【超楽観的プログラマの唯一の心配事】

 “自動虫下しソフトウェア”開発成功に伴って起こる残業手当の減少。

悲観的プログラマの心配事】

 “自動虫下しソフトウェア”開発成功に伴って起こるリストラ。
























【プロジェクトリーダーの法則】

・プロジェクトが苦しい局面に陥ると直ぐうろたえるリーダーは、
 部下に信頼されない。

・プロジェクトが苦しい局面に陥っても泰然としているリーダーは、
 既に新たな転職先を見付けている。
























【進化の法則】(修正)

 ウィルスは常に新種であり、ウィルスチェックプログラムは常に変種である。
 ウィルスは常に新種か亜種であり、ウィルスチェックプログラムは常に変種である。

【宿主の法則】

 ウィルスチェックプログラムは、新種ウィルスが出現しない限り進化できない。

言ってはいけない宿主の法則】

 ウィルスチェックプログラムの開発会社は、新ウィルスが出現しない限り、決して業績を伸ばし続けることはできない。
 (注意:この法則は、公けの場では決して口にしてはいけません

【災難の法則】(修正)

 ウィルスは忘れた頃にやって来る。虫は忘れない内にやって来る。
 ウィルスも虫も、忘れない内にやって来る。

























【中年プログラマにとって見過しにできない問題】

 プログラマは中年になるとゆったりとした服を着たくなる(これは好みの問題だから特に問題ないのだが)。問題は、身体の方が服に合わせて変化してしまう点である。

【スタイル重視の原則】

 若いプログラマは、プログラミングスタイルに気を配らねばならない。
 中年のプログラマは、ボディースタイルに気を配らねばならない。
























【パッチ領域に対するマーフィーの法則の適用】

 不足は増大する。

【虫の発見件数と開発費の関係】

 増大は減少し、それに伴い減少は増大する。
























【デバッグの法則】

 どんなコードも最初は正しく見える。

【デバッグの法則への修正】

 最初から殺人者のように見える犯人はいない。しかし最初から虫のように見えるコードは存在する。
























【プログラマにとっての最大の不幸】

 プログラムの虫には、コードの中に存在する虫と存在しない虫(コードの欠落)とがある。プログラマにとっての最大の不幸は、コードの中に存在しない虫に対してもコードの中を捜し回らねばならぬ点にある。
























【プログラマの特性】

 プログラマは、常に次の2種に類別される。
 ・プログラミングはできるが、管理は苦手である。
 ・プログラミングは苦手であるが、管理も苦手である。

【プログラマ初体験の法則】

 プログラマは、
 ・初めて作ったプログラムが正常に動作したときの感激を決して忘れない。
 ・最初に虫を作り込んだプログラムのことは決して思い出せない。
 ・両者が同一のプログラムであるという事実には決して思い至らない。
























【再帰的呼出しの法則】

 ジョークが分かる人は、ここで【再帰的呼出しの法則】を参照する。
 ジョークが分からない人は、ここで【空 手続きの法則】を参照する。













【空 手続きの法則】

 む‥‥。 //* だれもジョークが分からない!
























【取説の書き方の法則】

 取扱説明書(取説)における「巧みな表現」とは、将来言い逃れができる余地を残した表現方法をとることである。

【理解と誤解の法則】

 ソフトウェア説明書の文章は、決して作成者の意図通りには理解されない。必ず、恐れていた通りに誤解される。

【誤解の法則】

 誤解を恐れずに書くと、その通りに誤解される。
























【特許申請書の書き方の法則】

 特許提案における「巧みな表現」とは、将来幾らでも拡大解釈が可能となるような表現をとることである。

【適用範囲の法則】

 取扱説明書を書くときには、できるだけ適用範囲が限定されるように書く。
 特許申請書を書くときには、できるだけ適用範囲が拡大されるように書く。

【手遅れの法則】

 たまに良いアイディアを思い付くと、既に提案されしかも検討の結果却下されたものと同じである。
 たまに採用されるアイディアは、既に他社から特許出願されているものと同じである。
























【よい特許とは】

 社内では特許は数で勝負する。社外では、特許は質で勝負する。

【よい表現とは】

 最悪の事態に備えて、特許提案の文章には必ず「原則として」という言葉を添えておく。

【よい機能とは】

 簡単に作ってしまった機能にはすぐ苦情が来る。
 苦労して作った機能に対しては苦情は絶対に来ない(誰も使わないから)。
























【待ち行列の法則】

 プログラミングの世界では、行列が二つあったら短い列の方に並ぶ。
 実生活では、行列が二つあったら取り敢えず長い列の方に並んでおいて、それから何の行列であるかを確かめる。
























【メニュー選択の法則】

 表示されているメニュー項目の機能に過大な期待を持ってはならない。
 メニュー通りのうまい料理が出てきた試しはない。

【ホットキーの法則】

 メニューを見ないで注文しようとすると、ホットキー(*)の名前が思い出せない。メニューを開いて思い出したときには‥‥ もはや使う必要がなくなっている。

 注(*) ホットケーキではない。ホットキー(簡略キー)のことである。
























【トラブル対策上の基本的問題点】

 トラブル対策の責任を持つ人は、虫を修正する技術を持たない。
 虫を修正する技術を持っている人は、トラブル対策の責任を持たない。

【労力の原理】

 虫を潰す労力より、謝る労力の方がずっと楽である

【謝罪の法則】

 謝りに行く人は、事態の深刻さを正確には把握していない人の方がよい。
























【あいまいな訳(*)への対応策】

 翻訳書を読んでいて意味が分からなければ、それは翻訳者も意味が分かっていない証拠である。そんな本はさっさと捨てて原著を買って読んだ方がよい。

  注(*) あえて誤訳とは言わない。
























【設計変更の法則】

 変更可能なものは、永遠に変更され続ける。
 変更不可能なものも、時間が許す限り変更され続ける。

【設計変更に関する評価の法則】

 設計変更というものは、いつも最初は「たいした影響はない」ように見える。

【要求仕様のはかなさ】

 正式版は、テスト版の通りには動かない。
 テスト版は、要求仕様の通りには動かない。
 故に、要求仕様と正式版とは何の関わりもない。
























【プログラムの単純化の法則】

 プログラムを複雑にするのは簡単で手間は掛からない。しかしプログラムを簡単にするには複雑な手間が掛かる。

【シュリンクの法則】

 洗練されたプログラムと洗ったシャツは縮む。

【拡大と縮小の法則】

 シャツは洗うたびに小さくなるが、プログラムは改造するたびに大きくなる。
























【コンパイラの早とちりの法則】

 コンパイラがエラーメッセージが山ほど表示したとしても、最初のエラーにだけ対応すれば十分である。残りはすべてコンパイラの勘違いだから。

【本物のプログラムとは】

 コンパイラのエラーメッセージが出る内はまだプログラムではない。エラーメッセージが出なくなったら、いよいよ虫のある本物のプログラムになったといえる。
























【品質と開発費の関係】

 品質が話題になり始めると、それはもはや開発費が底をついたことを意味している。
























【出荷物件の品質についての法則】

 利用者からの反応がないので安心していると、実は誰も使っていない。
 ときたま反応があると、それはトラブルの報告である。
























【品質管理者の法則】

 品質管理者にとって:
 「縁起」とは担ぐものではなく、
   かつがれて精神の安定を得るためのものである。
 「迷信」とは信じるものではなく、
   信じるための拠り所とするためのものである。
 「奇跡」とは起こすものではなく、
   起きることを開発部門の人に信じ込ませるためのものである。
























【数値目標とは】

 「数値目標」とは、品質管理部門が開発部門に求める品質に関する最高級難度の要求値のことである。
























【スケジュール設定の法則】

 優秀な管理者は、
  予期せぬ事態に備えてスケジュールに余裕を持たせる。
 取り分け優秀な管理者は、
  予期せぬ事態の予期せぬ遅れに備えてスケジュールに
  更に余裕を持たせる。
























【誰もが思っているのに決して口にしない法則】

 コンピュータのプログラムなどというものは信頼できない。
 それを作ったプログラマは尚更信頼できない。
























【信頼性の法則】

 人間の信頼性に重きを置くプログラムを、人は信頼してはならない。
























【マシンの世代に関する法則】

 最新のマシンを持っている人は、それを自慢できる。
 一世代前のマシンを持っている人は、
   それを使うことにまあ我慢ができる。
 二世代前のマシンを持っている人は、
   それを使うことに何とか耐えられる。
 三世代前のマシンを持っている人は、
   それを使うことに耐えられない。
 四世代前のマシンを持っている人は、
   それを使っていることをもはや公言できない。
 五世代前のマシンを持っている人は、
   持っていることを自慢できる。
























【マシン購入の法則】

 マシンを購入して、早まったと後悔しないための方法:
 1.金持ちになって次々とマシンを買い換えられる身分になる。
 2.マシンの購入を永久に先延ばしする。
























【リバースエンジニァリングの法則】

 ハードウェアとは、
  組み立てるよりも分解する方がはるかに簡単であるもの言う。

 ソフトウェアとは、
  組み立てるのも分解するのも同じ様に簡単でないものを言う。
























【ウィンドウ利用上の注意】

 ウィンドウは換気が悪いので、ときどき開放(解放)して空気を入れ換える必要がある。
























【重要プロジェクトの法則】

 プロジェクトは、
  プロジェクト室を獲得することによってその重要度を認知される。
























【プロジェクトリーダーとは】

 プロジェクトリーダーとは、
  プログラム作りから最も遠ざかっているメンバーのことである。
























【開発期間の法則】

 プロジェクトに与えられる開発期間は限られているとしても、プログラムを修正する期間は無限にある。
























【ファイル保存の効用】

 人間は、二度と使う可能性のないファイルでさえも取り敢えずハードディスク上に保存することによって心の安定を得る。
























【ファイルの保存則】

 ファイルは、永く保存しておけばおくほど熟成されて捨て難くなる。それを捨てる決断がつくのはハードディスクが満杯になったときだけである。
























【ファイル破壊の予知法則】

 ファイル破壊の事故は、常に「ファイルを保存したい」と熱烈に思う直前に発生する。
























【マシンの外観に関する法則】

 自分のマシンは、他人のマシンよりみすぼらしく見える。
























【新しいマシンの法則】

 新しいマシンを購入すると、翌週には友人がもっと掘り出し物のマシンを購入している。
























【古いマシンの特性】

 私用のマシンは、古くなればなるほど愛着が増していく。
 社用のマシンは、古くなれば直ぐ愛想が尽きる。
























【故障マシンの特性】

 故障したマシンは、保守員が来る直前に一時的に正常動作するようになる。
 買い替えのための申請書を提出すると、まったく正常なマシンになってしまう。
























【運不運の法則】

 簡単に直るトラブルの発生源は自分の担当モジュールではない。
 たちの悪い致命的なトラブルの発生源は、どういう訳か必ず自分の担当モジュールである(経験者は【不運不運の法則】と呼びたくなる)。
























【自然治癒の法則】

 プログラマの熱い期待にもかかわらず、プログラムの欠陥(虫)が自然に直ることはない。
























【虫の発見に関する法則】

 捜していない虫は直ぐ見付かる。

【虫の発見に関する法則に対する補足】

 しかも、致命的なトラブルで取り混んでいる最中に。
























【強度の心身症の診断法(2)】(自分の経験から)

 電子メールシステムを使い慣れてくると、メールの宛先に次のようにタイプインしたいという衝動を、何としても押さえられなくなってくる。

    TO:president@whitehouse.gov[Enter]

 このような症状が出たら、直ちに最寄りの精神科医院に行った方がよい。
 メールアドレスを知ってしまった私、今悩んでます。

【強度の心身症の診断法(2)に対する補足】

 悩んでいるのは

    TO:president@whitehouse.gov[Enter]
    TO:vicepresident@whitehouse.gov[Enter]

 のどちらにしようか、という点である。
























【不可逆反応の法則】

 100%信頼のおけるシステムに虫を一匹潜入させると、100%信頼のおけないシステムになる。
 その100%信頼のおけないシステムから虫を一匹取り除くと、100%信頼のおけないシステムのままである。

【輪廻転生の法則】(【不可逆反応の法則】に対する修正)

(1)100%は信頼のおけないシステムを使い続けると、100%信頼のおけるシステムになる。

(2)100%信頼のおけるシステムに虫を一匹潜入させると、たちまち100%信頼のおけないシステムになる。

(3)その100%信頼のおけないシステムから虫を全部取り除くと、100%は信頼のおけないシステムになる((1)に戻る)。
























【緊密度の法則】

 社会生活では、友人間の関係が緊密になればなる程コミュニケーションは容易になる。
 プログラムでは、モジュール間の関係が緊密になればなる程コミュニケーション上の誤解が生ずる。

【緊密度の法則への体験に基づく反論】

 友人間の関係も、緊密になればなる程誤解が生ずる。

【緊密度の法則からの妥協的結論】

 コミュニケーションが容易になると、誤解が生ずる。
























【ドキュメントに関する嘆き】

 プログラマは必ず、前任者がドキュメントを残さなかったと嘆く。
























【ドキュメントの厚さに関する法則】

 設計ドキュメントの厚さは、そのプロジェクトに割り振られた開発予算の額に比例して増える必要がある。

【ドキュメントの厚さに関する法則への補足】

 設計ドキュメントの厚さは、設計ミスがいくら発生しても変わることはない。しかしボスが設計に疑問を持ったとたんに増大し始める。
























【プログラマの評価法】

 虫を作るプログラマは、
  デバッグ作業を熱心にやる働き者であると見做される。

 虫を作らないプログラマは、
  デバッグ作業を熱心にやらない怠け者であると見做される。
























【プログラマのキャリア】

 プログラマのキャリアは、
  作り込んだ虫の数と解決したトラブルの回数の積に正比例する。
























【プログラマの心理(1)】

 楽観的なプログラマとは、
  自分は今最高のプログラムを作っていると信じている人のことである。

 悲観的なプログラマとは、
  自分は既に最高のプログラムを作ってしまったと信じている人のことである。
























【たちの悪い虫の法則】

 たちの悪い虫は、必ず重要顧客で発生する。

【たちの悪い虫の発生率】

 たちの悪い虫の発生率は、顧客の不満度に正比例する。
























【新人プログラマの記憶力の法則】

 いつか助けてくれるかもしれないと期待して困っている新人プログラマを助けてあげると、ありがたいもので次に困ったときも必ず自分を思い出してくれる。
























【ソフトウェアと利用者の関係】

・ソフトウェア製品は半年毎に新版がリリースされ機能強化される。
・しかし利用者はお定まりの機能しか使わない。
 したがって、
・利用者は、ソフトウェア製品に対して相対的に劣化していく。
























【メールによる能力分析】

 メールで問い合わせると必ず電話で回答してくる人は、実はコンピュータ操作が苦手である。
























【メールと仕事との関係】

 届いたメールを読んでいると、自分は今十分に仕事をしていると錯覚する。
























【タイミングの重要性】

 ジョークの意味が分かったらただちに笑うことである。
 最後に笑った人はジョークの意味が分からなかった人である。
























【スケジュールの進捗に関する経験則】

 ソフトウェアの開発スケジュールは、納期の直前までは順調に進む。
























【バージョンアップの法則】

 バージョンアップ・サービスとは、有料で欠陥商品を回収する手法のことである。
























【予想と予言の違い】

 少し先のことを正確に見込むことを「予想」という。これは難しい。
 ずっと先のことを大胆に見込むことを「予言」という。これは容易である。
























【プログラムの読みやすさに関する偏見的見解】

 Cプログラマが、COBOLプログラムを読んでその内容を理解できたとしたら、そのプログラムはたいしたプログラムではない。
 COBOLプログラマが、Cプログラムを読んでその内容を理解できたとしたら、そのプログラマはたいしたプログラマである。
























【プログラマの定年法則】

 優秀なプログラマは、その功により管理職につくためプログラマを卒業する。無能なプログラマは、その能力に見切りを付けてプログラマを卒業する。並みのプログラマは、その年齢を理由にしないとプログラマを卒業できない。
























【ウィンドウズ利用上の問題点】

 ウィンドウズシステムは、机上作業のすべてを代替してくれる。しかし、マウスを転がす場所だけは提供してくれない。

【机上整理でのジレンマ】

 机の上にコンピュータを置くと、マウスを転がす場所がない。マウスを転がす場所を作ると、コンピュータを置く場所がない。
























【コンピュータゲームの法則】

 普段はやらないのに、ちょっと息抜きにゲームをしていると、そのときに限ってボスが後ろにやって来る。
























【パソコン開発者にとってのコンピュータゲームの法則】

 昼休みにゲームをしていると、それは“遊び”である。
 就業時間中にゲームをしていると、それは試作機の
  “互換性テスト”である。
 時間外にゲームをしていると、それは‥‥“残業”である。
























【初心者のためのウィンドウズ作法】

 初心者がウィンドウズシステムを立ち上げた後、最初に行う仕事はDOS互換ボックスを呼び出すことである。

 【注】コマンドライン・インタフェースの世界から移行してきた私めのような少数派にしか理解できない法則ですね。
 最近はこんな具合になるのでしようか‥‥。

【最近のウィンドウズ作法】

 ウィンドウズシステムを立ち上げた後最初に行う仕事は、とりあえずインターネット接続して掲示板をのぞくことである。
























【緊急対策の法則】

 一つの虫を修正しようとして誤って複数の虫を作り込んでしまう確率は、トラブルの緊急度の二乗に正比例する。
























【ツールの法則】

 使わないツールはすべて揃っている。使いたいツールは高くて買えない。
























【あいまいな訳への対応策】(あえて誤訳とは言わない)

 翻訳書を読んでいて意味が分からなければ、それは翻訳者も分かっていない証拠である。そんな本はさっさと捨てて、原著を買って読んだ方がよい。
























【新人プログラマの記憶力の法則】

 いつか助けてくれるかもしれないと期待して困っている新人プログラマを助けてあげると、ありがたいもので次に困ったときも必ず自分を思い出してくれる。

【貸し借りに関する記憶力の差の法則】

 お金を貸したことは忘れないが、借りたことはすぐ忘れてしまう。

【貸し借りに関する記憶力の差の法則に基づく問題提起】

 徹夜でデバッグしたあの日、自販機の前で貸した私のお金は一体どうなったんでしょうね。
























【迷惑メールの法則】

 迷惑メールの排除システムが弱いと、沢山の迷惑メールの中から必要なメールを探さねばならない。
 迷惑メールの排除システムを強化すると、今度はごみ箱の中を探しまわるはめになる。
























【年寄りのためのキーボードアレルギー克服法】

 英字キーだけで済むよう、外国の友人としかメール交換をしない。

【外国に友人のいない年寄りのためのキーボードアレルギー克服法】

 国内の友人に構わず英語でメールを送る(少しキザと思われようが)。

【英語に弱く、かつキザと思われたくない年寄りのためのキーボードアレルギー克服法】

 ローマ字でメールを書く。
























【チームワークの法則】

 ソフトウェア開発で“チームワークが良い”とは、責任のなすり合いができる仲間がいるという意味である。
























【アイコンの賢い使い方】

・見慣れぬクモを見付けたら(毒蜘蛛のセアカゴケグモかもしれぬ)、
   とりあえず棒で突っ突いて反応を見る。
・見慣れぬアイコンを見付けたら、
   とりあえずカーソルで突っ突いて反応を見る。
























【メモリ食いソフトウェア導入時のジレンマ】

 メモリを買うと、ソフトウェアを買う金がない。
 ソフトウェアを買うと、メモリを買う金がない。
























【プログラマの心理(2)】

・有能なプログラマは、
   つねに最新鋭のマシンを使いたがる。
・無能なプログラマは、
   有能なプログラマが使っているのと同じマシンを使いたがる。
























【過剰装備のソフトが売れる理由(わけ)】

 プログラマは、将来とも使う可能性のない機能でも、とりあえず何時でも使えるようにしておくことで心の安定を得る。
























【時差の不変法則】

 久し振りにアメリカを訪れて、日米間の時差は少しもつまっていないことを知った。特にソフトウェアの分野では。
























【肥満に関する不思議な傾向】

 人間は、肥満した身体に合わせてうつわ(洋服のサイズ)を選ぶが、ソフトウェアは、うつわ(メモリのサイズ)に合わせて肥満する傾向がある。
























【器用なプログラマの法則】

プログラマは、アドレス計算は K=1024 で行うが、お金の計算は K=1000 で行う。
























【リブートの多様な使い方】

・プログラムの動作がおかしくなったら、
   とりあえずマシンをリブートする。
・マシンがハングアップして応答しなくなったら、
   とりあえずマシンをリブートする。
・ゲームで遊んでいる最中に突然後ろにボスがやってきたら、
   とりあえずマシンをリブートする。
























【電話への賢い対応法】

 電話の呼び出しには最優先順位で対応するが、電話で依頼されたことには最低の優先順位で対応する。
























【ケータイと忘れ物の関係】

 ケータイを持つと忘れ物の点数が劇的に減少する。

 ・ケータイを持つ前:10点
   (財布、時計、カメラ、ゲーム機、定期券、ウォークマン、手帳、
    チケット、携帯電話、傘)
 ・ケータイを持った後:2点(ケータイ、傘)

【「ケータイと忘れ物の関係」から得られた厳然たる事実】

 万能ケータイは何でもやってくれる。しかし傘の代わりにはならない。


 追記:私め、
“携帯傘”なるものを発明しました。
























【暴露ウイルスの特性】

 暴露ウイルスは何でも暴露してしまうが、
 国民が真に公にして欲しいと思う情報を暴露した例(ためし)はない。
























【プログラムの命名法】

 プログラムは使い易くなくても一向に構わないが、プログラムの名前だけは発音し易くなければならない。
























【ウイニー裁判の論理(検察側)】

 ファイル交換ソフトにより著作権侵害が多発しているのは、ファイル交換ソフト開発者の責任であり、当然罰せられなければならない。

【ウイニー裁判の論理(検察側)の応用】

 飲酒運転による自動車事故が多発しているのは、凶器となった自動車の開発者の責任であり、当然罰せられなければならない。


【ウイニー裁判の論理(弁護側)】

 ピストル強盗が多発しても、ピストルを開発した者が罰せられることはない。

【ウイニー裁判の論理(弁護側)の応用】

 暴露ウイルスによる情報流出が多発しても、暴露ウイルスを開発した者が罰せられることはない。
























【手本とすべき良いプログラムとは】

 如何なる状況においても、上司の作ったプログラムは良いプログラムである。
























【プロジェクトの成否】

 プロジェクトの成否は、予算の額とボスの忍耐力の強さで決まる。
























【ケータイのけったいな特性】

 ケータイを常時携帯する生活形態が身につくと、ケータイを携帯しなかったときの自分の行動形態が分からなくなる。
 こんなけったいな生活形態は早く変(け)えたいものだ。
























【システムの信頼性】

 新しいシステムを信頼してはならない。
   まだ機能が未完成で虫が取りきれていないかもしれないから。
 使い慣れたシステムだからといって、これを信頼してはならない。
   いつなんどき不測のトラブルが起こるかもしれないから。
 長く使い込んだ古いシステムなら絶対信頼してはならない。
   いつなんどきハードウェアトラブルが発生するかもしれないから。
























【怖くない法則】改訂版

(昔)赤信号、皆(みんな)で渡れば怖くない。
(今)履修漏れ、皆(みんな)でやれば怖くない。
























【デバッグ上の問題点】

 ボスに対し、デバッグの難しさを理解してもらおうと努力しても何の意味もない。
 ボスに理解してもらいたいのは、デバッグには十分な時間と金が必要であるという点だけである。
























【良いプログラムとは】

・利用者にとって良いプログラムとは、
  無料で使えるプログラムのことである。
・開発者にとって良いプログラムとは、
  クレームの来ないプログラムのことである。
・保守マンにとって良いプログラムとは、
  トラブルが発生しても直ぐ利用者ミスが原因と判断できるプログラムのことである。
























【ソフトウェアの法則から得られた貴重な経験則】

・駄作でも、数多く作り続けていると何となく体をなしてくる。
・どうでもよいプログラムでも、数多くバージョンアップを重ねていると
 そのうちに何となくソフトウェアらしい体をなしてくる。



101個の法則を作ったところで完とします。

 101個にまとめたのは“hundred and one”が「沢山の」と言う意味が
 あるからです。