パソコン用の非常に初期のバージョンのCコンパイラ(1980年頃だと思います)が2つまたは3つのフロッピーディスクに常駐していたので、プログラムをコンパイルするために最初に「最初のパス」でディスクを挿入する必要があると聞きました「最初のパス」、次に「2回目のパス」でディスクに変更し、それを実行してから、「3回目のパス」で同じことを行います。各パスは数十分間実行されたため、開発者はタイプミスでも多くの時間を失いました。
その主張はどれほど現実的ですか?実際の数字と詳細は何ですか?
パソコン用の非常に初期のバージョンのCコンパイラ(1980年頃だと思います)が2つまたは3つのフロッピーディスクに常駐していたので、プログラムをコンパイルするために最初に「最初のパス」でディスクを挿入する必要があると聞きました「最初のパス」、次に「2回目のパス」でディスクに変更し、それを実行してから、「3回目のパス」で同じことを行います。各パスは数十分間実行されたため、開発者はタイプミスでも多くの時間を失いました。
その主張はどれほど現実的ですか?実際の数字と詳細は何ですか?
回答:
絶対に。80年代前半のZenith Z100コンピューター用のMicrosoft C(バージョン1.0)を5.25 "360Kフロッピーディスクで提供していました。Z100にはハードディスクがなかったため、切り替え時にフロッピーを頻繁に交換する必要がありました。数分間のコンパイルとリンク時間は珍しくありませんでした。2MB(はい、メガバイト)のメモリ拡張ボードに500ドルを支払ったので、すべてのファイルをRAMディスク。これにより、時間は約30秒に短縮されましたおかしい...当時はプログラミングが楽しかったので、実際に楽しんでいます。
おそらく本当です。
初期のホームコンピューティング(ホビエストではなく、子供/親)のマシンにはハードドライブさえありませんでした。
私の両親はOSが1枚のフロッピーにあるAmstradを持っていたので、フロッピーディスクの切り替えが必要なアプリケーション(ワードプロセッサは別のディスクにあった)を選択して実行できます。特殊なOSサービスが必要でした。
私はアムストラッドのパスカルのコピーを持っていました。エディターが1つのディスク上にあったことを覚えていますが、コンパイル中は、コンパイルプロセスが継続するため、disk1とdisk2の間で前後に切り替える必要がありました(プロセスの特定のポイントでOSディスクへの切り替えが必要な場合もあります(ただし、必ずオフにしてください))。
OS全体が単一の3.5フロッピーディスクに収まった古き良き時代(しかし、他にはあまりありません)。
フロッピーディスクは1971年に導入されました(つまり、8インチフロッピーディスク)が、70年代半ば(5.25インチディスク)まで普及しませんでした。Cは1973年からのものであるため、答えは主に「最初のバージョン」と呼ぶものと、コンパイルコンテキストが何であるかに依存すると思います。これらの変数を考えてください:
結局のところ、最近では、コンパイルにはまだ数分かかります-ハードウェアとプログラムの複雑さの間のトレードオフを調整するだけです。フロッピーディスクの部分だけは:-)ではありません。
また、70年代の多くのコンピューティングはまだ端末メインフレームの構築で行われていたため、フロッピーディスクを変更することはおそらくありそうにありません(少なくともビジネスプロダクションのコンテキストでは。 「言語」。
私が最初にCを習得したのは、80年代後半のCommodore 64(そう、コンパイラーがありました)でした。正しく思い出せば、コンパイラ/エディター/リンカーは1つのディスクにあり、ソースは別のディスクにあり、コンパイル段階で少なくとも1回はスワップする必要がありました。もちろん、C-64では、常にスワップします。
その価値については、私はまだそのコンパイラのボックスとドキュメントを持っています。数年ごとに懐かしい読書が楽しめます。
私の最初のCコンパイラは、CP / Mを実行しているTRS-80モデル4に搭載されていました(ROMに永続的にマップされた低メモリ位置を持たない、適切に動作する最初のモデル)。最初のドライブのディスクにCP / Mが必要でした。
使用しているエディターで作業を終えたら、実行する前にプログラムをコンパイル、アセンブル、リンクする必要がありました。それぞれが独自のプロセスであり、コマンドラインで開始されました。コンパイラ、アセンブラ、およびリンカがすべて1つのフロッピーに収まるわけではありません。(IIRC、アセンブラーとリンカーは一緒に適合します。)
したがって、プログラムとエディターをCP / Mシステムディスクに配置し、コンパイラーとアセンブラー/リンカーディスクを交換します。
システムディスクを使用せずに実行できるプログラムを探していましたが、少しバッチファイルを作成してコマンドライン呼び出しを自動化できるように設定する計画がありました(もう覚えていません)。しかし、私は決して従いませんでした。
そのシステムを使用しようとした後、私はCをあきらめ、Pascalに数年間戻りました。
私が高校にいたとき(1989-1990)私たちはリンゴIIでパスカルをやっていて、それは遅かったです。100行程度のプログラムを書くことができたので、コンパイルすると数分かかりました。プログラムを実行する前に、コンパイル中にメンズルームに行く時間があることを覚えています。
約半ばでその用語が使われ、Mac SEが手に入りました。パスカルの方がずっと良かったと思う。
私の友人の父は、当時は著名なプログラマでした。彼はコンパイルの結果を数日、時には週を待つのに疲れました。主に自宅で仕事をし、プログラムを書き、カードを打ち、運転し、オペレーターに箱を渡し、彼のコードが他のすべての人よりも重要であると主張して待っていました。
時々、コードがコンピューターに届かないことがありました。私の友人は彼の父親が本当に怒っていたという話を私に話しました。彼は人生のずっと後までなぜ本当に理解したことはありませんでしたが、硬い紙でいっぱいのこの箱が楽しいように見えました...ちょっと彼らの穴もいっぱいです!!!
ある日、彼は経営陣に議論を引き継いだ。彼は、彼らが彼の家にミニコンピューターを届けたので、良いケースを作ったと思う。言うまでもなく、コンピューターはほとんどのリビングルームを占めていたので、もちろんリビングルームは立ち入り禁止になっています。
そのため、はい、コンパイルのステージ間でディスクを交換することは明確な可能性であり、それが以前に利用可能であったものからのVASTの改善であったと私が信じるとき!!!
20年ほど待つだけで、誰かが次のような質問をすることを想像できます。
以前は、キーボードを使用してコードを文字ごとに入力する必要があったのは本当ですか?
私はCについては知りませんが、しばらくの間、Microsoft Fortranコンパイラを2回使用していました。それだけでなく、間違って実行されたページ長のプログラムがありました(ソースコードが正しいと確信しています)。これはインターネット前の日であり、PCは私の雇用主のものでした。PCを持っていることはまだ素晴らしいことでした。フロッピーに作業を入れて家に持ち帰って編集することができました。そのため、翌日仕事に着いたとき、手書きのメモではなく、編集済みのプログラムをすでに持っていました。
はるか以前の日でさえ(私はプログラミングスプリング70を開始していました)、コンパイラはバッチ処理メインフレームOS上の単一のJCLコマンドでした。上記のように。キーパンチを待って、ホレリスカードをパンチしました。次に、それらをウィンドウからオペレーターに渡しました。PNC(基本的にアカウント番号/パスワードを含むパンチカード)の色によっては、1〜24時間後に結果が返される場合があります。低レベルの学生は、その後の転換期を迎えました。「hello world」の割り当てを2週間で完了させるのは本当に大変でした。数年後、私はパートタイムのプログラミングの仕事に就き、夜はコンピューターセンターで時間を過ごすことができました。私たちの中には、カードリーダーに自分で餌を与えることさえできる人もいます。その後、所要時間はわずか数分です/しかし、夜遅くまでしかできませんでした。
そのため、長い間、コンパイラは主にメインフレーム(非常に大規模な組織が所有する数百万ドルのクラスのマシン)のためのものでした。また、周囲の数台のミニコンピューターは、しばしば奇妙でトリッキーな方法でプログラムする必要がありました。私は地震計をデジタル化するために1台のミニコンピューターを使用しました。OSを起動するのに紙テープをガイドするのに約10〜15分かかり、デジタイザテーブルで作業を行います。
はい、確かに。古いCP / MマシンではCを使用せず、CB-80を使用しました。コンパイルされたBASIC。(そして、はい、それはかなり恐ろしかったです)。Heath / Zenith Z-89で、それぞれが89Kを保持するフロッピードライブを2つ搭載。
単一ディスクのコンパイルは非常に恐ろしく、忘れる場合がありました。ディスクの交換が多すぎます。2フロッピードライブは豪華でした!一方のソース、他方のコンパイラ。フロッピーを入れたり外したり、頭がぶらぶらしたりしながら、マシンが「clang clang clang」になっている間に、コンパイルを行ってお茶を飲みます。
ボスは、約18x18x8インチの5 MBのハードドライブを購入し、個別に電源を供給し、約4フィートのリボンケーブルでH89の背面に取り付けました。
ああ、スピード!そして容量!5 MBのストレージ。
Cについては知りません(最初のCコンパイラはハードドライブから実行され、高速ではありませんでした)が、最初に使用したマクロアセンブラー(C64)ではフロッピーディスクの切り替えが必要でした(1つはアセンブラーをロードし、もう1つはコード)、システムの構築に20分以上かかり、数か月の開発の後、フロッピーディスクドライブとマザーボードの両方が過熱して死亡しました。
1988年の大学= PC上のFortran、8088 512K(K !!)のRAM、および1つのフロッピードライブコンパイルには20〜30分かかりました。新しい720Kの1つがあったので、フロッピーを交換する必要はありませんでした。
Sun3(68030 1Mb ram)およびクラス全体用の24 vt100端末。
私の時間の前に、私は思う。私の最初の「本当の」プログラミング(とにかくPC上)はCOBOLでした。当時はIBM PCを使用していました。彼らは2台の360kフロッピードライブを持っていました。1つにはコンパイラがあり、もう1つにはソースコードがありました。
私の簡単な大学のプロジェクトでさえ、それらのフロッピーで実行するのに文字通り15分かかったことを知っています-コンパイル中にカフェテリアにコーヒーを求めて走りました。それから、最終プロジェクトのために、私は私の仲間の家でそれに取り組みました。彼は、ハードドライブと呼ばれる10メガバイトの新しいマシンを手に入れたところです!プロジェクトは1分以内にコンパイルされました。それは私の心を完全に吹き飛ばしました。