Terinspirasi oleh pertanyaan ini .
Saya mendengar bahwa beberapa versi yang sangat awal dari kompiler C untuk komputer pribadi (saya kira sekitar tahun 1980) berada pada dua atau tiga floppy disk dan untuk mengkompilasi sebuah program, pertama-tama kita harus memasukkan disk dengan "first pass", jalankan "first pass", lalu ubah ke disk dengan "second pass", jalankan itu, lalu lakukan hal yang sama untuk "pass ketiga". Setiap operan berjalan selama puluhan menit sehingga pengembang kehilangan banyak waktu jika terjadi kesalahan ketik.
Seberapa realistis klaim itu? Apa angka dan detail sebenarnya?
Jawaban:
Benar. Saya memiliki Microsoft C (versi 1.0, saya pikir) untuk komputer Zenith Z100 di awal 80-an yang dikirimkan pada beberapa disket floppy 360K 5,25 ". Z100 tidak memiliki hard disk sehingga saya harus sering bertukar disket ketika saya beralih antara editor, compiler, dan linker. Mengkompilasi dan menghubungkan waktu beberapa menit bukanlah hal yang aneh. Itu harus sangat mengganggu saya membayar $ 500 untuk papan ekspansi memori 2MB (ya, megabyte) sehingga saya bisa memuat semua file ke dalam RAM disk. Itu mengurangi waktu menjadi sekitar 30 detik. Lucu ... Saya benar-benar menikmati pemrograman kembali pada masa itu karena itu menyenangkan. Hari ini bekerja.
sumber
Itu mungkin benar.
Pada hari-hari awal komputasi di rumah (untuk anak-anak / orang tua bukan Hobiest) mesin bahkan tidak memiliki hard drive.
Orang tua saya memiliki Amstrad OS berada di 1 floppy dan memungkinkan Anda untuk memilih aplikasi untuk menjalankan yang mungkin mengharuskan beralih floppy disk (yaitu pengolah kata pada disk lain) yang memerlukan beralih manual kembali ke disk OS jika aplikasi membutuhkan beberapa layanan OS khusus.
Saya punya salinan pascal untuk amstrad. Saya ingat editor berada di 1 disk tetapi selama kompilasi diperlukan beralih kembali dan maju antara disk1 dan disk2 saat proses kompilasi berlanjut (bahkan mungkin diperlukan beralih ke disk OS pada titik-titik tertentu dalam proses (tetapi saya tidak jadi yakin off)).
Suatu hari tua yang baik ketika seluruh OS dipasang pada floppy disk tunggal 3,5 (tapi tidak banyak lagi)
sumber
Floppy disk diperkenalkan pada tahun 1971 - (floppy disk 8 inci, yaitu), tetapi tidak populer sampai pertengahan 70-an (dengan disk 5,25 inci). C berasal dari tahun 1973, jadi saya pikir jawabannya sangat tergantung pada apa yang Anda sebut "versi pertama" dan apa konteks kompilasi itu. Pikirkan variabel-variabel ini:
Setelah semua - hari ini, kompilasi masih membutuhkan beberapa menit - hanya menyesuaikan tradeoff antara perangkat keras Anda dan kompleksitas program. Hanya bagian floppy disk yang tidak :-).
Perhatikan juga bahwa banyak komputasi pada 70-an masih dilakukan pada konstruksi terminal-mainframe, jadi mengubah floppy disk mungkin agak tidak mungkin (setidaknya dalam konteks produksi bisnis. Saya tidak tahu apakah C digunakan sebagai "rumah" "bahasa).
sumber
Perampokan pertama saya ke dalam belajar C adalah di Commodore 64 (ya, ada kompiler untuk itu), kembali di akhir 80-an. Jika saya ingat dengan benar, kompiler / editor / penghubung berada di satu disk dan sumber Anda ada di disk lain dan Anda harus bertukar setidaknya satu kali selama tahap kompilasi. Tentu saja, pada C-64, Anda di mana selalu bertukar.
Untuk apa nilainya, saya masih memiliki kotak dan dokumen untuk kompiler itu. Membuat bacaan nostalgia setiap beberapa tahun.
sumber
Kompiler C pertama saya menggunakan TRS-80 Model 4 yang menjalankan CP / M (model pertama yang akan melakukannya dengan benar, tidak memiliki lokasi memori rendah yang secara permanen dipetakan ke ROM). Untuk itu diperlukan disk di drive pertama untuk memiliki CP / M di dalamnya.
Setelah saya selesai dengan editor apa pun yang saya gunakan, saya harus mengkompilasi, mengumpulkan, dan menautkan program sebelum saya bisa menjalankannya. Masing-masing adalah prosesnya sendiri, dimulai pada baris perintah. Compiler, assembler, dan linker tidak akan muat di satu disket. (IIRC, assembler dan linker bisa saling cocok.)
Oleh karena itu, saya memiliki program dan editor pada disk sistem CP / M, dan bertukar di disk kompiler dan assembler / linker.
Saya sedang melihat sebuah program yang akan memungkinkan saya untuk menjalankan tanpa memiliki disk sistem, dan saya punya rencana (yang saya tidak ingat lagi) untuk mengatur hal-hal sehingga saya bisa membuat file batch kecil dan mengotomatiskan panggilan baris perintah, tapi saya tidak pernah mengikuti.
Saya cukup banyak menyerah pada C setelah mencoba menggunakan sistem itu, dan kembali ke Pascal selama beberapa tahun.
sumber
Ketika saya masih di SMA (1989-1990) Kami melakukan pascal pada apel II dan itu adalah PERLAHAN . Anda bisa menulis program 100 baris atau lebih ketika Anda menekan kompilasi butuh beberapa menit. Saya ingat bahwa Anda punya waktu untuk pergi ke ruang pria saat sedang menyusun sebelum program akan berjalan.
Sekitar setengah cara melemparkan istilah itu saya mendapat Mac SE yang jauh lebih cepat! Berpikir Pascal jauh lebih baik.
sumber
Ayah seorang teman saya adalah seorang programmer kelas atas saat itu. Dia lelah menunggu hasil kompilasi, berhari-hari, kadang-kadang minggu. Sebagian besar bekerja dari rumah, menulis program, memencet kartu, menyetir, memberikan kotak kepada operator dan berdebat sebentar sementara kode-nya lebih penting daripada yang lain dan menunggu.
Terkadang kode itu tidak pernah sampai ke komputer, teman saya menceritakan kisah saat ayahnya benar-benar, maksud saya BENAR-BENAR marah padanya. Dia tidak pernah benar-benar mengerti mengapa sampai kemudian dalam kehidupan tetapi anak laki-laki kotak ini penuh dengan kertas kaku tampak seperti menyenangkan ... hei penuh dengan lubang mereka juga !!!
Suatu hari dia membawa argumen ke manajemen dan saya kira Dia membuat kasus yang bagus karena mereka mengirim komputer mini ke rumahnya. Saya harus menyebutkan bahwa, pada saat itu, komputer mengambil sebagian besar ruang tamu yang, tentu saja, menjadi terlarang.
Jadi ya, menukar disk di antara tahap dalam kompilasi adalah kemungkinan yang pasti dan percayalah ketika saya mengatakan itu adalah peningkatan VAST dari apa yang tersedia sebelumnya !!!
Tunggu saja sekitar 20 tahun, saya bisa membayangkan seseorang mengajukan pertanyaan seperti:
Benarkah sebelumnya, mereka harus menggunakan keyboard untuk mengetikkan kode huruf demi huruf?
sumber
Saya tidak tahu tentang C, tetapi dalam jangka waktu itu untuk sementara saya punya kompiler Fortran microsoft yang mengambil dua lintasan. Tidak hanya itu, tetapi saya memiliki program sepanjang halaman yang berjalan salah (saya yakin kode sumbernya benar), jadi itu saja, saya menyerah pada kompilasi untuk PC sama sekali. Ini adalah masa pra-internet, dan PC itu milik majikan saya. Itu masih bagus untuk memiliki PC, saya dapat bekerja pada floppy dan membawanya pulang dan mengeditnya. Jadi ketika saya mulai bekerja pada hari berikutnya, saya sudah memiliki program yang diedit, daripada catatan tulisan tangan.
Bahkan pada hari-hari sebelumnya, (saya memulai pemrograman musim semi 70), kompiler adalah perintah JCL tunggal pada batch pemrosesan mainframe OS. Seperti dijelaskan di atas. Anda menunggu dalam antrean untuk menekan tombol, dan meninju kartu holerith Anda. Kemudian Anda menyerahkannya ke operator melalui jendela. Bergantung pada warna PNC Anda (pada dasarnya kartu berlubang yang berisi nomor akun / kata sandi), Anda mungkin mendapatkan hasil Anda dari 1 hingga 24 jam kemudian. Siswa tingkat rendah memiliki perputaran nanti. Benar-benar sebuah tantangan untuk menyelesaikan tugas "hello world" dalam waktu dua minggu! Beberapa tahun kemudian saya mendapat pekerjaan pemrograman paruh waktu, dan bisa nongkrong di pusat komputer di malam hari. Beberapa dari kita bahkan bisa memberi makan cardreader sendiri. Kemudian perputaran hanya beberapa menit / Tapi Anda hanya bisa melakukan ini larut malam.
Jadi untuk waktu yang lama, kompiler terutama untuk mainframe (mesin jutaan dolar yang dimiliki oleh organisasi yang sangat besar). Dan beberapa minicomputer di sekitar sering harus diprogram dengan cara yang aneh dan rumit. Saya menggunakan satu komputer mini untuk mendigitalkan seismogram. Butuh sekitar 10-15 menit membimbing pita kertas melewatinya untuk boot OS, maka Anda akan melakukan hal Anda di atas meja digitizer.
sumber
Ya tentu saja. Saya tidak menggunakan C pada mesin CP / M lama itu, saya menggunakan CB-80. Dikompilasi BASIC. (Dan ya itu sangat mengerikan). Pada Heath / Zenith Z-89 dengan 2 floppy drive yang masing-masing memegang 89K.
Kompilasi disk tunggal sangat mengerikan, itu adalah kasus lupa itu. Terlalu banyak menukar disk. 2 floppy drive MEWAH! Sumber di satu, kompiler di sisi lain. Mengatur kompilasi pergi dan pergi untuk secangkir teh sementara mesin pergi "dentang dentang" ketika disket bertunangan dan terlepas dan kepala terbentur.
Bos membeli hard drive 5 MB yang berukuran sekitar 18x18x8 inci, bertenaga terpisah, dan dipasang di bagian belakang H89 dengan kabel pita sekitar 4 kaki.
Oh, kecepatannya! dan kapasitas! dengan penyimpanan 5 MB.
sumber
tidak tahu tentang C (kompiler C pertama saya lari dari hard drive, dan tidak cepat), tetapi Assembler Makro pertama yang saya gunakan (C64) membutuhkan switching floppy-disk (satu untuk memuat assembler, yang lain untuk memuat kode), butuh 20+ menit untuk membangun sistem, dan setelah beberapa bulan pengembangan baik floppy disk drive dan motherboard kepanasan dan mati.
sumber
Kuliah pada tahun 1988 = Fortran pada PC, 8088 512K (itu adalah K !!) dari ram dan satu floppy drive Mengkompilasi memakan waktu 20-30 menit, saya tidak perlu menukar disket karena saya memiliki salah satu dari 720K yang baru.
Terminal Sun3 (68030 1Mb ram) dan 24 vt100 untuk seluruh kelas.
sumber
Sebelum waktu saya, saya kira. Pemrograman "nyata" pertama saya (pada PC, toh) adalah COBOL. Saat itu kami menggunakan PC IBM. Mereka memiliki 2 floppy drive 360k; satu memiliki kompiler, dan yang lain memiliki kode sumber Anda.
Saya tahu bahwa proyek kuliah saya yang sederhana membutuhkan waktu 15 menit untuk mengkompilasi berlari pada disket - saya akan lari ke kafetaria untuk minum kopi ketika sedang dikompilasi. Kemudian untuk tugas akhir saya mengerjakannya di rumah teman saya. Dia baru saja mendapatkan mesin baru dengan benda yang disebut hard drive - 10 megabyte! Proyek kami dikompilasi dalam waktu kurang dari satu menit. Itu benar-benar meledakkan pikiran saya.
sumber
Saya harus melakukan floppy dance di 128K Mac lama saya untuk berbagai aplikasi, jadi saya tidak meragukan hal ini selama satu menit, meskipun saya tidak bisa memberikan rincian. Saya tidak akan terkejut jika itu bukan bagian dari mengapa penerjemah BASIC ada di mana-mana pada komputer pribadi awal (tidak perlu banyak lintasan, tabel simbol, dll.).
sumber