日陰的な場所においているのでなよなよしている。デジカメで撮影しようとしたらメモリーカードが無いと警告がでた。なにかちぐはぐが起こると気分が良くない。シモツケが咲き出している。ヘソ下程度の低木でピンクの小さな花が集合している。買ったときは小さなポット苗だったので、まあまあのできばえだ。オーム社)この本を手にしたのは失敗から来るイメージとの連想である。福島原発事故との関連もある。「指揮官」の中の作戦計画の部分で源田実はプランニングとプログラミングの区別をしていた。設計論から言えば、プランニングは包括的でより上位の工程であり、プログラミングは限定的なより下位の工程のように思われる。今日のハードとソフトという切り分けも、コンピュータが実用化してから多用されてきたように思う。バグという用語もプログラムソフト屋さんの業界用語という印象が強い。プログラミングには言語と文法があるので、たいした問題は起こらないように思われるが、この本を拾い読みすると色々な問題が生じている事が分かる。プログラミングもより大きなシステムのサブシステムとしてあるからなのだろう。軍学で言えば、個別作戦計画の上に統合作戦計画があるわけで、上位の目的の妨害になるのがバグということなのだろう。バグを人的エラーや文法ミス等と言わないのはいかにも業界用語らしい。バグはプログラマーの責任問題という見方もあるが、大抵プログラマーはお雇いの技術者なので、プログラムのバグ対策コストはそのプログラマーの雇い主の負担とみて、バグと突き放して言えるのだろうか。本書ではバグの発生要因やバグの種々相は見えるが、責任問題については、本書を読めば何となく分かるだろうというような印象を受けたのみ。読者対象は現場のプログラマーが主だろう。本書が出版された年に丁度WINDOWS95が発売になった筈だ。自分がWIN95に手を出したのがその数年後。パソコンは遊びの延長。業務上のパソコンやコンピュータは専門の担当者任せというスタンスであった。当時はパソコンマニアが業務の半分程度を社内のパソコン導入等に費やしていた時代でもあった。IBMの大型コンピュータ上のSPICEで回路シミュレーションをした時は、陰でちょとした悪戯をしてみた事があった。回路常数にあり得ない負数を入れたり、極端な数値を入れたりしてどのような結果がでるか試してみた。大型コンピュータをハングアップさせるのではと胸がどきどきするような思いもしたが、何も起こらなかった。ソフトの方はあくまで数値計算しかしていないのだと納得した。逆に、過渡解析等では収束しないという問題がかなり発生した。これは、適当に初期値を与えたり、ダミーパラメータ(素子)を付加したりして、無理やりコンピュータに計算させた。CAD技術者と意見交換しながらなら何とかツールとしてSPICEが実用になりかけた頃の話である。プログラムがコンピュータに与える指示ならば、回路技術者がパターン設計技術者に与える指示も一種のプログラムとみなせる。勝手な事は出来ないと言う点では原発運転マニュアルも一種のプログラムとみなせるだろう。その指示書の中や実際の操作にも時々ミスが入り込む。CADの場合は、システムが巨大になると、検証用のプログラムも使われるようになった。集積回路のパターン設計CADも最初の頃は目視でパターン図面の検証をした。技術が高度化すると、システム全体が巨大になりバーチャル化して、何が実際に起こっているのか、具体的に・感覚的に把握するのが大変困難になった。運転も同じ様な状況だと思う。動作している原子炉は直接内部を見たり触ったり出来ない。すべて遠隔的・間接的に制御しているだろう。本書の最初の部分に、放射線治療のソフトウェアのインストール時のデータ設定ミスにより規定以上の放射線を癌患者に照射するという事故の例が述べられている。設定ミスは10年間気付かれずに治療が続行され多数の死者が出たとある。弁護士中坊公平が住専問題で着目したのが買い取り債権の瑕疵。そもそも瑕疵とは当事者が予想する完全性が欠けている事を示す法律用語との事。現代社会にあっては、小さな欠陥が限りなく大きな損害の原因になる。トヨタ自動車は車の急加速問題で、その制御系のソフトとハードを丸裸になる位詳細に調査された。広義のプログラム(巨大システムの運用指示書・マニュアル等も含む)の中に潜むバグ、欠陥を避けることは、システムが巨大・複雑化するほど困難になる。バグに対処するためには、そのプログラミング中に過去の失敗も組み込まなければ再発の危機は常につきまとうだろう。養蚕という家業を継ぐ事ができない無念さはあるが、それを歌で残してくれた。