論理のトレース

バグを潰しにかかって、一番厄介なのは表面的に起きている現象と原因との乖離、なんだろうな。
一つ前のページ、原因は自作関数の戻り値の検証不足。接続できることを試したかったから、つい先を急いだ。エラー処理系は手抜き。その結果エラー・リターンと、正常動作のカウント0の戻り値が同じになってしまい、原因を見つけるのが遅れた。
開いたファイルは必ず閉じる。(COBOL系の人はこれをやらない。言語処理系が自動的に閉じてくれるから、閉じない習慣があるらしい。自動ドアに慣れていると、自分でドアを閉じないのと同じか。)C++なのに、閉じていなかった。これも、先を急いでいたから。ここで、やっちまった。なおかつ、自分の意識の中でWrapperの戻り値をシステムの戻り値だと勝手に決め付けてしまっていた。

丁寧に、ステップごとに辿れば、この類のバグは必ず潰せるんだけれども、思い込みで注目点がズレていると、原因部分へのアプローチが遅れる。ものすごく時間がかかった。

基本的に、私はモノグサだから、面倒なことはやりたくない。そうすると、一番厄介なところ、自分で「完成品」と思っている箇所を無意識に避けて、勝手に論理をすり替えて、「この現象の原因は、ここにあるはずだ」と思い込んでしまう。こうなると、ドツボ。まさかとは思ったけれども、ps(プロセス状態取得)が誤動作していると、勝手に決めつけて、そこばかりを調べようとしていた。分かる訳がない。これで数時間ロスした。

一番怖いのは、論理のすり替え。すぐに論理をすり替える人に論理的な説明をしても、全く意味がない。だって、すり替えた先にはなんの問題もないんだもの。それと全く同じ。

相手がコンピュータで良かったと、つくづく思う。相手が人で、こちらは論理的に説明しているつもりが、寄り切られると、最後は自分自身を捻じ曲げるしかなくなる。
まず拒絶、次に思い込みと決め付け、そしてマウンティング。
それが続くと、自分の側が原型を留めなくなる。

どこぞの国との交渉も、「交渉」はできても「議論」にはならないだろうなぁ。ニュースを聞いていて、体から力が抜けた。こちらの主張を理解してもらう、なんて無理じゃないかなぁ。だって、全く聞く耳を持たずに一方的な主張しかして来ていないと思う。

そもそも、戦略管理物資が不正に流れていることの指摘は、アメリカ側から来たんじゃないのかなぁ。そのアメリカに、某国がどういう説明をしたのか、とても興味がある。きちんとアメリカが把握していた事実に合致する説明を、したんだろうか、それとも、何か都合のいい「作文」で説明したんだろうか。一度作文しちゃうとそれが一人歩きするから、もはや「事実」など霞んでしまう。あれは作文でした、なんていう撤回は、これまで一度もないと思う。その作文に基づい国民が大騒ぎする。直近ではレーダー照射がいい例で。
覆水盆に返らず。関係改善なんて、もう無理じゃない?

コンピュータ相手の仕事で良かったと、つくづく思う。純粋なロジック以外のことは、一切合切考えないようにしようとは思うんだけれども、脳ミソは一つしかないから、難しいです。

気を取り直して・・・