Astaga, aku merasa tua sekarang, dan aku bahkan tidak pernah harus mengotak-atik kartu punch atau pemrosesan batch. Sial, saya hanya perlu menggunakan terminal cetak satu atau dua kali selama karir kuliah saya.
Inilah cara kami melakukan hal-hal di masa Cretaceous (sekitar 1986). Saya sedang mengerjakan VAX / VMS melalui terminal berbasis karakter kuning-on-hitam VT220 yang dapat ditampilkan dalam 80x24 atau 132x24.
Pertama, Anda mengaktifkan editor teks:
$ EDIT/EDT HELLO.C
EDT adalah setara VMS dari vi, jatuh di suatu tempat dalam kemampuan antara DOS edlin dan Notepad. Anda mengetikkan teks program Anda
#include <stdio.h>
int main(void)
{
printf("Hello, Stupid\n");
return 0;
}
menyimpannya ke file, dan kemudian keluar dari editor.
Kemudian Anda menjalankan kode Anda melalui kompiler:
$ CC HELLO
Ini menerjemahkan kode sumber di HELLO.C dan menghasilkan file objek HELLO.OBJ. File objek berisi kode mesin untuk program, tetapi belum dalam bentuk yang dapat dieksekusi. Untuk satu hal, kode biner sebenarnya untuk printf
panggilan tidak ada; hanya ada pengganti untuk itu. Anda masih harus menjalankan file objek melalui linker , yang dimasukkan kode biner dari perpustakaan standar (dan setiap perpustakaan lain yang Anda perlu) dan diformat file sehingga dapat diakui sebagai executable:
$ LINK HELLO
Hasil dari langkah ini adalah file HELLO.EXE, yang merupakan versi program Anda yang dapat dieksekusi.
Prosedurnya hampir sama pada sistem modern mana pun; hanya saja toolchain spesifik berbeda. Sebagai contoh, urutan perintah pada sistem Linux yang khas adalah
$ vi hello.c
$ gcc -o hello hello.c
atau
$ vi hello.c
$ gcc -c hello.c
$ ld -o hello hello.o -lc
Karena saya tumbuh di lingkungan ini, saya tidak pernah mengerti bagaimana seseorang dapat membutuhkan IDE hanya untuk menulis kode mereka. Namun, awal tahun ini saya mulai bekerja di Jawa, dan sementara Eclipse memiliki banyak kesalahan, saya dapat memahami bagaimana seseorang dapat sangat bergantung pada IDE untuk menyelesaikan pekerjaan mereka. Karena bahasa Jawa sangat besar dibandingkan dengan C, dan karena saya masih mencoba untuk mendapatkan poin yang lebih baik dari sintaks, itu membantu untuk memiliki lingkungan pengembangan yang cerdas yang mengetahui paket apa tipe tertentu dan membantu saya mengatur impor.