イエス、私は今老いていると感じ、パンチカードやバッチ処理を台無しにしたことすらありませんでした。地獄、私は大学時代にハードコピー端末を1、2回使用するだけでした。
白亜紀後期(1986年頃)に私たちがどのように戻ってきたかを以下に示します。私は、80x24または132x24のいずれかで表示できるVT220アンバーオンブラック文字ベースのターミナルを介してVAX / VMSで作業していました。
まず、テキストエディターを起動しました。
$ EDIT/EDT HELLO.C
EDTはviと同等のVMSであり、DOS edlinとNotepadの間の機能のどこかに落ちました。プログラムテキストを入力した
#include <stdio.h>
int main(void)
{
printf("Hello, Stupid\n");
return 0;
}
ファイルに保存し、エディターを終了しました。
次に、コンパイラーを通してコードを実行しました。
$ CC HELLO
これにより、HELLO.Cのソースコードが翻訳され、オブジェクトファイルHELLO.OBJが生成されました。オブジェクトファイルにはプログラムのマシンコードが含まれていましたが、まだ実行可能な形式ではありませんでした。1つには、printf
呼び出しの実際のバイナリコードが存在しません。プレースホルダーのみがあります。リンカーを介してオブジェクトファイルを実行する必要がありました。リンカーは、標準ライブラリ(および必要なその他のライブラリ)のバイナリコードを組み込み、実行可能ファイルとして認識できるようにファイルをフォーマットしました。
$ LINK HELLO
この手順の結果は、プログラムの実行可能バージョンであるHELLO.EXEファイルです。
この手順は、最新のシステムでもほとんど同じです。特定のツールチェーンが異なるだけです。たとえば、典型的なLinuxシステムでのコマンドのシーケンスは次のようになります
$ vi hello.c
$ gcc -o hello hello.c
または
$ vi hello.c
$ gcc -c hello.c
$ ld -o hello hello.o -lc
私はこの環境で育ったので、コードを書くためだけにIDE が必要になる方法を理解できませんでした。しかし、今年の初めにJavaでの作業を開始しました。Eclipseには多くの欠点がありますが、IDEに大きく依存して作業を完了する方法を理解できます。JavaはCに比べて非常に大きな言語であり、構文の詳細を把握しようとしているので、特定のタイプのパッケージを把握し、インポートを整理するのに役立つスマートな開発環境を持つことが役立ちます。