因果関係・事実関係を、時間軸逆向きに辿っていくのが・・・僅か40年程度の流れでも、これほど大変だとは思っていなかった。それも、比較的記録に残されていると思われるコンピュータの歴史という分野で。 「結果」は時系列で並べればお仕舞いだけど、「原因」を探るのが容易でない。いや、「結果」を揃える事すら難しい。 例えば"0x7C00"。この発祥を求めるにあたり、ビンテージコンピュータであったりIBM PCの歴史であったり、Altairに端を発するマイコンブームの盛り上がりとCP/Mの登場、S100バスの普及やシアトルコンピュータプロダクトの動き、IntelCPUの流れなど・・・いくつものカテゴリに分断されたカードを、自分なりに並べ直した。 "0x7C00"については、たまたま、SCP 86-DOS と IBM PC 5150 ROM BIOS INT 19h の境目を見つけられたので運が良かった。カードの境界線がはっきりと目に飛び込んできた。 「パーソナルコンピュータ」という限定された歴史ですら、すでにスパゲッティコードの様相を呈している。 しかし・・・絡まり合った点と線をほぐしていくのは、個人的には結構快感を感じてしまっている。 カードの並びを読み解くのには前後関係と文脈が必要で、ちょっとした探偵気分を味わえる。 別の見方をすれば、コンピュータの歴史は未だにカードだけが時系列にぶら下がっているだけともいえる。 カードとカードの繋がりを「物語り」に出来ていない。いくつかの人間ドラマについては成功しているが、特定の技術要素に焦点を当てた「物語り」はまだまだ不足しているのだろう。 もっとも現場の技術者にとって必要なのは、現時点で利用出来る「結果」であり、因果関係を「物語り」として理解する必要性は低い。 ここ暫く続けている昔の・・・DOS時代の技術調査は、単に自己満足以外の何ものでもない。 それでも、まだまだ謎(Mystery)は残っている。 - "ld.so"がshared objectであり、なおかつコマンドラインから実行可能なのはどういう仕組みか? - "-fPIC"の有無はいつ登場したのか?どう違うのか? - "a.out", "elf", ".so"ファイル、それぞれの発祥は? - DOSからWindowsへの流れでの、実行ファイルの歴史は? どれも、今の時点での仕様がどうなっているのかを調べるだけでは不十分で、歴史を辿らなければならない(Trace)。これらの疑問全てに対して、「Why, When, Who」を見つけ出す事が出来るかは分からない。もし見つけることが出来たら"0x7C00"の時と同様、自分でそれを「物語り」にして語ってみる。 それまでは暫し、コンピュータ技術の歴史に対して "Mystery Tracing" を続けてみたい。