Mengapa 80 karakter batas "standar" untuk lebar kode? Mengapa 80 dan bukan 79, 81 atau 100? Apa asal dari nilai khusus ini?
coding-standards
history
fredley
sumber
sumber
Jawaban:
Anda dapat berterima kasih kepada kartu punch IBM untuk batas ini - ini memiliki 80 kolom:
sumber
Seperti Oded disebutkan, standar pengkodean umum ini adalah hasil dari 1928 IBM 80 kolom Format kartu menekan , karena banyak standar pengkodean tanggal kembali ke waktu ketika program ditulis pada kartu punch, satu kartu / baris pada satu waktu, dan bahkan transisi ke layar yang lebih luas tidak mengubah fakta bahwa kode menjadi lebih sulit untuk dibaca menjadi lebih lebar.
Dari halaman wikipedia pada kartu berlubang s:
Sekarang pertanyaannya adalah, mengapa IBM memilih 80 kartu kolom pada tahun 1928, ketika Herman Hollerith sebelumnya menggunakan 24 dan 45 kartu kolom ?
Meskipun saya tidak dapat menemukan jawaban yang pasti, saya menduga bahwa pilihan itu didasarkan pada jumlah karakter khas per baris mesin ketik saat itu.
Sebagian besar mesin tik bersejarah yang pernah saya lihat memiliki lebar pelat sekitar 9 inci, yang sesuai dengan standardisasi ukuran kertas hingga lebar sekitar 8 "-8,5" (lihat Mengapa ukuran kertas standar di AS 8 ½ "x 11 "? dan Sejarah standar kertas seri ISO216 A ).
Tambahkan pitch mesin tik khas 10-12 karakter per inci dan itu akan mengarah ke dokumen dengan lebar antara 72 dan 90 karakter, tergantung pada ukuran margin.
Dengan demikian, 80 karakter per baris akan mewakili kompromi yang baik antara pitch pitch (lubang bulat kecil persegi panjang dan lebih besar) dan panjang garis, sambil mempertahankan ukuran kartu yang sama.
Secara kebetulan, tidak di mana-mana menentukan lebar garis 80 karakter dalam standar pengkodeannya. Di mana saya bekerja memiliki batas 132 karakter, yang sesuai dengan lebar printer garis lebar khas dahulu, cetakan landscape 12pt A4 dan lebar garis khas yang tersisa di jendela editor Eclipse (dimaksimalkan pada layar 1920x1200) setelah Package Explorer dan Tampilan garis besar diperhitungkan.
Meski begitu, saya masih lebih suka 80 karakter kode lebar karena membuatnya lebih mudah untuk membandingkan tiga revisi file berdampingan tanpa menggulir ke samping (selalu buruk) atau garis pembungkus (yang merusak pemformatan kode). Dengan kode lebar 80 karakter, Anda hanya perlu layar lebar 240 karakter (1920 piksel pada 8 piksel per karakter) untuk melihat penggabungan tiga arah penuh (leluhur umum, cabang lokal, dan cabang jarak jauh) dengan nyaman di satu layar.
sumber
Saya akan mengatakan itu juga karena terminal lama (kebanyakan) berukuran 80x24 karakter: Kembali pada zaman terminal 80x24 ...
SUNTING:
Untuk menjawab pertanyaan dengan lebih tepat dan lebih teliti, 80 karakter adalah batas "diterima secara universal" saat ini untuk lebar kode di dalam editor karena format 80x24 dan 80x25 adalah mode layar paling umum di terminal I / O awal dan komputer pribadi ( VT52 - terima kasih ke Sandman4).
Batas ini masih berlaku dan entah bagaimana IMHO penting karena dua alasan utama: geometri default yang ditetapkan oleh banyak distro Linux ke windows terminal yang baru lahir masih 80x24 dan banyak orang menggunakannya apa adanya , tanpa mengubah ukuran. Selain itu, kernel, programmer real-time dan embedded sering bekerja di lingkungan "tanpa kepala" tanpa window manager. Sekali lagi, resolusi layar default sering 80x24 (atau 80x25), dan, dalam situasi ini, bahkan mungkin sulit untuk mengubah pengaturan default ini.
Jadi, jika Anda seorang kernel, programmer real-time atau tertanam, Anda harus memaksakan diri Anda untuk menghormati batas ini, hanya untuk menjadi sedikit lebih "ramah" terhadap setiap programmer yang harus membaca kode Anda.
sumber
Meskipun mungkin bukan alasan asli untuk batas 80 karakter, alasan bahwa itu diterima secara luas hanya karena membaca ergonomi :
Ini dikenal luas dan diterima dalam tipografi. Rekomendasi standar (untuk teks dalam buku dll.) Adalah untuk menggunakan sesuatu di wilayah 40-90 karakter per baris , dan idealnya sekitar 60 (lihat misalnya Wikipedia , Markus Itkonen: Tipografi dan keterbacaan ).
Jika Anda membidik 60 karakter per baris, batas atas Anda harus sedikit lebih tinggi untuk mengakomodasi ekspresi panjang sesekali (dan hal-hal seperti penanda margin dan nomor baris), sehingga memiliki batas atas 70-80 masuk akal.
Ini mungkin menjelaskan mengapa batas 80 karakter diambil alih oleh banyak sistem lain.
sumber
Pertanyaan terkait adalah "mengapa 80 kolom tetap ada". Bahkan tanggapan pada halaman ini kira-kira selebar itu. Saya setuju dengan alasan historis untuk 80 kolom, tetapi pertanyaannya adalah mengapa standar tetap ada. Saya akan mengklaim keterbacaan - untuk prosa dan kode. Pikiran kita hanya dapat menyerap begitu banyak informasi dalam keadaan utuh. Saya masih menggunakan penanda 80 kolom di editor kode saya untuk mengingatkan saya ketika sebuah pernyataan terlalu panjang dan tidak jelas. Ini juga membuat saya banyak layar real-estate untuk browser, dan jendela IDE yang mendukung. Umur 80 kolom - sebagai panduan bukan aturan.
sumber
Batas panjang garis umum lainnya pada hari-hari font pitch tetap adalah 72 karakter. Contoh: Kode Fortran, surat, berita.
Salah satu alasannya adalah kolom 73-80 kartu punch sering disediakan untuk nomor seri. Mengapa nomor seri? Jika Anda menjatuhkan setumpuk kartu, Anda dapat mengambil kartu dalam urutan apa pun, berbaris di sudut kiri atas (yang selalu memiliki potongan diagonal) dan menggunakan mesin penyortir kartu untuk mengembalikannya.
Alasan lain untuk batas 72 karakter adalah bahwa font yang umum tingginya 10 poin dan lebar 6 poin (1/12 "). Halaman lebar A4 atau 8,5" dapat menampung 72 karakter dalam kolom lebar 6 "dan masih memiliki ruang untuk margin lebih dari satu inci.
sumber
Saya pribadi tetap berpegang pada "tentang kolom 80" untuk akhir baris saya karena lebih jauh dari itu menyebabkan pembungkus atau kehilangan kode ketika Anda mencetaknya.
Ada warisan kartu punch juga, tapi saya tidak berpikir printer laser atau kertas 8,5x11 inci diatur agar sesuai dengan batasan kartu punch.
sumber
Gulir dalam kertas printer berukuran Letters atau 15 "lebar.
Itu adalah printer garis 80 cps untuk hardcopy kode atau laporan, dan kemudian pada Epson mendukung pencetakan terkondensasi 132 cps (kode escape \ 015 untuk cetakan terkondensasi).
sumber
Salah satu alasan untuk 80 kartu kolom dapat dikaitkan dengan 'hand punch' yang mungkin digunakan sebelum mesin punch kartu elektronik. Ini adalah salah satu yang saya gunakan pada awal 70-an di situs utama ICL System 4-50. Seseorang harus memukul bagian tiga? meninju pisau di kereta pada saat yang sama.
sumber