Bagaimana cara pemrograman bekerja ketika programmer menggunakan punchcard?


11

Saya melihat ini: Belajar memprogram kartu punch

dan saya telah melihat ini: http://en.wikipedia.org/wiki/Computer_programming_in_the_punched_card_era

tetapi mereka meninggalkan banyak yang diinginkan.

Adakah yang bisa menjelaskan kepada saya bagaimana programer diprogram ketika mereka menggunakan kartu punch? Secara khusus, sistem komputer input yang digunakan untuk memperoleh instruksi dari kartu berlubang itu sendiri.

Saya tidak tahu banyak tentang retrocomputer, jadi salah satu sistem input yang Anda kenal baik-baik saja. Jawaban yang lebih umum juga dihargai.

Jawaban:


16

Singkatnya, buruk.

Setidaknya pada mesin apapun saya pernah menggunakan atau mendengar, kau tidak memberi makan kartu satu per satu meskipun. Ada pembaca kartu otomatis yang akan memberi makan dan membaca ratusan kartu per menit (mungkin sekitar 1000 / menit, tapi saya tidak yakin dengan spesifikasi yang tepat).

Dalam kasus yang umum Anda menulis kode dengan tangan, lalu menekannya ke kartu. Setiap kartu memiliki satu baris kode (hingga 80 kolom). Anda mengambil tumpukan kartu untuk dieksekusi. Tergantung pada jaminan simpanan, di mana saja dari satu jam atau lebih hingga satu hari kemudian, Anda mendapatkan dek Anda kembali bersama dengan hasil cetak.

Saya mungkin harus menambahkan: karena kartu deck Anda berjalan sebagai pekerjaan, Anda tidak hanya mengirimkan kode untuk program itu sendiri - Anda harus menulis sesuatu yang agak mirip dengan skrip file batch / shell dengan arah untuk mengkompilasi dan menjalankan kode. IBM JCL (sebagai contoh) masih sangat dipengaruhi oleh asal-usul kartu Hollerith-nya.

Poin kecil lainnya: pada kebanyakan sistem yang saya ingat, Anda biasanya memasukkan nomor baris pada setiap kartu punch. Anda jelas menghindari menjatuhkan setumpuk jika Anda bisa, tetapi ketika (tidak jika) satu terjatuh, itu tidak benar-benar hampir tragedi yang dibayangkan banyak orang. Poin samping yang menarik: setidaknya kartu penyortir yang saya lihat menggunakan jenis radix - mereka memisahkan kartu menjadi 10 nampan, berdasarkan pada satu digit dari nomor baris, kemudian "menggabungkan" kartu-kartu tersebut bersama-sama (letakkan semua kartu menjadi satu kartu) bin secara berurutan) lalu ulangi sebanyak yang Anda punya digit dalam nomor baris.

Kartu Hollerith sangat berpengaruh - 80 kolom sebagai batas masih bertahan hingga tingkat yang hampir mengganggu. Setidaknya pada mainframe Data Kontrol, hal-hal seperti sistem file sangat terpengaruh juga. Setelah kartu Hollerith hilang sebagian besar, sisa-sisa kartu tersebut terlihat di OS - misalnya, file teks sering disimpan sebagai serangkaian catatan 80 karakter, terlepas dari seberapa sedikit / banyak karakter yang sebenarnya terdapat dalam satu baris. Saya masih dapat mengingat keterkejutan saya pada "keterbelakangan" sistem seperti Unix di mana Anda harus membaca semua baris sebelumnya untuk menemukan baris N dari file teks, daripada hanya bisa mencari secara langsung.


Saya pikir apa yang Anda gambarkan adalah cara yang jauh lebih modern dalam melakukan sesuatu. Penyortir kartu dan pengumpan? Ya ampun, ibuku akan terbunuh untuk itu ...: - D
littleadv

@ littleadv: Kartu Hollerith dan pengumpan mendahului komputer. Saya kurang yakin tentang penyortir, tapi saya cukup yakin mereka juga.
Jerry Coffin

1
Kami biasa menulis COBOL dan RPGIII kami di atas kertas dengan tangan lalu meninju kartunya sendiri. 4 karakter yang tepat pada kartu digunakan untuk "nomor baris" dari program. Ya, saya telah menjatuhkan nampan kartu sebelumnya, kami memiliki penyortir kartu di ruangan yang sama dengan pukulan kunci. Ingat, COBOL dan RPGIII adalah bahasa yang SANGAT diformat. Kode Anda harus dalam urutan tertentu untuk dijalankan. Kemudian baki kartu diambil untuk dijalankan dan operator menjalankan pekerjaan, memberi Anda hasil cetakan beserta baki kartu Anda. Semoga Anda tidak memiliki kesalahan.
MB34

4
Kami punya kamar dengan dua mesin kunci tombol 029 , tapi tidak ada penyortir. Jadi meskipun kartu diberi nomor, kami biasa menggambar garis diagonal di bagian atas seperti ini . Jika Anda memang menjatuhkan sekotak mobil, biasanya mereka akan berakhir di lantai dalam beberapa kelompok, yang dapat Anda kumpulkan dengan cukup baik berdasarkan garis-garis ini untuk memulai, dan kemudian menyelesaikan pekerjaan dengan memverifikasi nomor kartu dalam urutan.
tcrosley

2
Tidak hanya program yang ditonjok pada kartu, data input dan data keluaran juga ditonjok pada kartu. Kartu adalah bentuk penyimpanan utama di akhir 70-an dan awal 80-an. Ruang disk terlalu mahal untuk digunakan selain dari kompiler dan loader.
Gilbert Le Blanc

6

Anda menggunakan pukulan kartu sebagai editor.

  • Masukkan == pukulan kartu baru.
  • Pindahkan == ambil kartu dan pindahkan ke tempat yang tepat.
  • Hapus == keluarkan kartu dan buang ke tempat sampah
  • Salin - pukulan kartu yang lebih baik memiliki fungsi salin yang dapat menyalin kolom kartu lain demi kolom.
  • Ganti karakter - gunakan fungsi salin tetapi ketikkan karakter pengganti saat Anda mencapai karakter yang perlu Anda ganti.
  • Hapus karakter - gunakan fungsi salin tetapi pegang kartu yang disalin untuk menghentikannya bergerak dan tekan spasi untuk setiap karakter yang ingin Anda "hapus"
  • Sisipkan karakter - gunakan fungsi salin tetapi pegang kartu asli tidak bergerak saat mengetik teks baru.

Sebagian besar kartu "tidak dapat diubah" tetapi Anda dapat menghapus karakter dengan menempelkan lubang pada selotip yang tipis.

Anda membaca di program Anda dikelilingi oleh JCL yang sesuai dan menunggu printer memuntahkan hasilnya. (Bisa berjam-jam!)


4

Sangat lambat.

Ibu saya adalah seorang programmer, jadi saya punya banyak kartu ini di rumah ketika tumbuh dewasa. Apa yang akan mereka lakukan adalah menyandikan program pada kartu, dan kemudian memasukkan kartu ke pembaca kartu satu per satu (mirip dengan cara mesin pemilihan sekarang). Jika Anda menjatuhkan kartu - Anda akan berada dalam banyak masalah, karena Anda hanya memiliki waktu mesin X yang dialokasikan untuk Anda dan Anda harus mengaturnya dalam urutan yang benar dan mulai lagi memberi makan mesin lagi dan mencoba untuk membuat tepat waktu sebelum programmer berikutnya menendang Anda keluar. Program yang sepele (menurut standar kami saat ini) mungkin membutuhkan ratusan, jika tidak ribuan, kartu semacam itu, dan jam waktu alat berat untuk memuat dan menjalankannya.

Sangat membosankan.


Di sisi lain, mungkin ada jauh lebih sedikit parasit di industri :)
haylem

tergantung pada bagaimana Anda mendefinisikan "parasit" .... :)
littleadv

Sayangnya saya tidak bermaksud "bug" terkenal dari saat itu, tetapi gerombolan orang-orang yang sekarang telah melompat pada kereta musik IT.
haylem

Oh nostalgia ... dunia adalah tempat yang lebih baik di masa lalu! Tapi sungguh, itu terutama karena kita cenderung melupakan hal-hal buruk. Ada semua gerombolan orang yang melompat pada semua jenis kereta musik, selalu dan akan selalu ada.
littleadv

Ssst. Itu adalah hari-hari. Itu saja. (Saya sebenarnya tidak tahu, saya tidak ada di sana.)
haylem

1

Dalam beberapa hal "tidak terlalu berbeda", dalam beberapa hal "sangat berbeda".

Mereka menulis kode sumber, biasanya di atas kertas. Ini kemudian diketik ulang ke kartu punch (satu baris kode sumber per kartu, biasanya dengan nomor baris, sehingga Anda dapat dengan mudah memperbaiki kode sumber Anda ketika berakhir dengan urutan yang salah).

Program kemudian diawali dengan kartu yang memiliki instruksi untuk mengkompilasi program dan diakhiri dengan instruksi untuk menjalankannya dan file data apa yang digunakan (atau kaset untuk dipasang, dll, dll).

Ini seperti yang kemudian disampaikan kepada operator, yang akan memuat kartu ke pembaca cepat, menjalankan pekerjaan dan mengembalikan hasilnya pada hasil cetak.

Dengan siklus edit / kompilasi / hasil yang khas berada di urutan "besok", orang-orang cenderung menjadi lebih paranoid memeriksa kode mereka untuk kesalahan sintaks.

Tanpa kemungkinan debugging interaktif, satu-satunya cara untuk melacak eksekusi adalah garis debug yang dicetak selama eksekusi.

Di beberapa tempat, kodenya akan di punch tape daripada di punch card.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.