ハイテク昔話 「第7話」 2001.09.10



文字が小さい場合は、ブラウザの”表示”を変更して、文字を大きくして下さい。



このサイトにアクセスして下さる方々は、圧倒的に若い(1948年生まれの私から見て)人が多いと思います。そこで、パソコンが世の中に出てくる前から、普及する頃の極私的な経験を昔話風に紹介します。そして、それを通して、パソコン普及に伴って何が進歩したか、何が変わらなかったか、何か新たに問題になったことはないかを見極めようというページです。徐々に、量を増やしていく予定です。思い出した所から書きたい、項目は年代順に並べたいという二つの希望から、書いた順序がバラバラです。おまけに、量が増えるに伴って、記事が別のファイルに移動する可能性もあります。なるべく、掲載した日付を付けますのでご勘弁下さい。



初めての16ビットパソコン、初めてのデータベース、初めてのCコンパイラ

1962年、富士ゼロックスが日本でコピー機を発売する前のお話です。

自然科学系の研究者は、研究の成果を国際誌に英文で発表します。論文の内容はまだ発表されていないものでなくてはならないし、他の論文も参考にしながら研究をしなければならないので、図書館へ足をはこんで、関連分野の雑誌に目を通します。まず、目次を見て気になるタイトルを見つけたら、そのページを開き、著者、所属、アブストラクトに目を通します。重要だと思ったら、タイトル、刊、号、はじめのページ、終わりのページ、発表した年、著者名をノートに写します。この論文は非常に重要だとなれば、アブストラクトをその後ろに書き加えます。そのとき、重要だと思う箇所はイタリックで書きます。

このようにして、何冊ものノートがたまります。これが当時の自然科学系の研究者のデータベースでした。

人によっては、京大式カードというのかもしれませんが、カードにそれらを書き込み、分野によって穴をあける位置を決めて、穴をあけ、ケースに保存し、必要になったとき、棒のようなものをカードケースに差し込むと、該当するカードを取り出せるという、当時のハイテクを使っていました。

コピー機が発売になってからは、重要な論文はコピーして保存していくようになりました。コピーがたまってくると、整理が必要になります。多数のキャビネットを用意して、分野別にコピーをキャビネットに保存するようになりました。キャビネットの中では、さらに細かい分類によって整理されています。これが、コピー機が普及した時代のデータベースです。

では、パソコンが普及し始めた頃のデータベース事情はどうだったでしょうか。1980年代だったと思います。あまり記憶がはっきりしていませんが、dBaseIIIというソフトがあって、このソフトを使って自分でデータベースをパソコン上に作れるというものです。記憶がはっきりしていないのは、このソフトが20万円くらいして、非常に高価だったので、購入の対象に端からなっていなかったためだと思います。

我が家に初めてパソコンがきたのは、1985年、NECのPC9801VM2で、8001などと違って、OSには、MS−DOSが乗っていました。搭載メモリは384キロバイトでしたので、もちろん、拡張スロットに256キロバイトのボードを入れて、640キロバイトにしました。ちなみに、CPUは8086ではなく、V30というパソコンでは世界最速の10MHzという速いマシンでした。当時は、海の見えるマンションの13階に住んでいましたが、このパソコンは窓のない私の部屋におきました。ちなみに、現在は私の部屋はありません。

1987年か88年頃だったと思います。Cコンパイラを買いました。当時は、MS−Cというコンパイラが全盛の時代でしたが、コンパイラとして歴史の古いLattice Cを選び、98,000円で買いました。

ここで、コンパイラについて簡単に説明しますが、ご存じの方は飛ばしてください

プログラム言語には、インタープリタ型とコンパイル型があります。インタープリタ型はインタープリタというソフトウエアがプログラムを実行するときに翻訳を行います。 インタープリタがなければ、プログラムを実行できません。もう一つは、コンパイルという作業を前もって行い、 単独で実行できるファイルを作っておくものです。 このタイプをコンパイラ型といいます。 コンパイルは、プログラム言語をコンピュータ言語に翻訳する作業です。 Cはコンパイラ型言語です。

次に、どのような過程を経てソフトウエアが出来上がるのかについて説明します。 まず、ソースプログラムを作ります。 ソースプログラムはテキストファイルです。 ファイルには、テキストファイルとバイナリファイルがあります。 テキストファイルは、印刷可能な文字と、タブ、改行コード、スペース ( これらを、区切り文字といいます ) で成り立っています。 そして、最後にファイルの終わりを示す EOF ( End of File ) という、 特別な値が書き込まれています。

ソースプログラムが出来上がったら、コンパイルです。 次に示す過程を経て、実行可能なソフトウエアが出来上がります。

最初に、プリプロセッサが起動します。 プリプロセッサは、コンパイル作業にかかれるよう準備します。 例えば、プログラムのある行に、"#define pi 3.14" と書いておくと、 この行以降に 'pi' があると、プリプロセッサは 3.14 に書き換えてくれます。 プリプロセッサの作業が終わると、次に、コンパイラが起動します。 コンパイラはソースプログラムの文章の文法をチェックします。 Cコンパイラは、このチェックが少々甘いといわれています。 文法に問題がなければ、ソースプログラムを基にオブジェクトファイルが作られます。 文法に間違った箇所があると、コンパイル作業ができないので、 エラーメッセージを出して、コンパイラは停止します。 コンパイルに成功したら、リンカというソフトが起動して、 オブジェクトファイルを実行可能なファイルにします。 これで、新しいソフトウエアができあがります。

さて、当時のコンパイル事情についてお話します。

短いソースプログラムをコンパイルするには、十分なCPUの速度でしたが、分割コンパイルという手法を使っても、少し大がかりなソースプログラムをコンパイルすると相当な時間がかかりました。どのくらいかかるかというと、コンパイル中にコーヒーを飲んだり、たばこをすったりできるくらいの時間です。最長のソースプログラムの場合、買い物に出かけて返ってきてもまだ終わっていませんでした。アマチュアでこれなので、ソフトメーカーなどは大変だったと思われます。

ある冬の日のことでした。雪がふってきました。そこでさっそく大きい雪だるまと小さい雪だるまに雪がふってきて、だんだんつもってくるというソフトを作って、当時3歳だった息子に見せてやりました。息子はきゃっきゃっと大喜びでした。しかし、しばらくすると急に暗い表情を見せました。見ると、大きい雪だるまは何ともないが、息子に見立てた小さい雪だるまが雪に埋もれて消滅しそうになっていました。

さて、データベースの話に戻ります。

だんだん論文のコピーが増えてきたので、これを整理するため、データベース化を試みました。

論文のコピーに通し番号を打って、番号順にキャビネットにしまいました。通し番号順に、タイトル、刊、号、はじめのページ、終わりのページ、発表した年、著者名、アブストラクト、複数の可変個のキーワード、私のコメントをひとかたまりのデータとして入力し、どの項目のデータでも検索可能なソフトを作りました。検索がヒットすると、何番のコピーを見ればよいかがわかります。

一度入力してあるので、論文を引用する場合にも、コピーアンドペーストですむので、新たな入力が不要なので大変便利でした。

この程度の個人のデータベースでも、作った個人には有用でした。しかし、原理としてはキャビネットにしまった論文のコピーをカードに登録するのと、原理としては同じです。

しばらくしてから、コピーのない論文のデータも入力するようになりました。

一足飛びに、現在の話です。

現在は、インターネットでアメリカの国会図書館で検索すれば、該当する論文がでてきて、アブストラクトも読めます。したがって、個人がデータベースを作る必要はなくなりました。



なるべく正確を期していますが、当時の資料が不足しているので思い違いや間違いがあるかも知れません。何かお気づきの点があればメールをいただけると助かります。メアドはトップページにあります。




/* (C) 2001- YFプロ. All Rights Reserved. */



トップページへ戻る

サイトマップ

ハイテク昔話の目次へ戻る

前の話

次の話




提供:C言語講座:それ自体コンパイルできる教材を使った講座です。