Tại sao 80 ký tự là giới hạn "tiêu chuẩn" cho chiều rộng mã? Tại sao 80 mà không phải 79, 81 hay 100? Nguồn gốc của giá trị đặc biệt này là gì?
Tại sao 80 ký tự là giới hạn "tiêu chuẩn" cho chiều rộng mã? Tại sao 80 mà không phải 79, 81 hay 100? Nguồn gốc của giá trị đặc biệt này là gì?
Câu trả lời:
Bạn có thể cảm ơn thẻ đục lỗ của IBM về giới hạn này - nó có 80 cột:
Như Oded đề cập, tiêu chuẩn mã hóa thông thường đây là một kết quả năm 1928 của IBM định dạng thẻ đấm 80 cột , vì nhiều tiêu chuẩn mã hóa có niên đại từ thời điểm mà các chương trình được viết trên thẻ đục lỗ, một thẻ / dòng tại một thời điểm, và thậm chí quá trình chuyển đổi để màn hình rộng hơn không làm thay đổi thực tế rằng mã càng khó đọc thì nó càng trở nên rộng hơn.
Từ trang wikipedia về thẻ đục lỗ s:
Ảnh hưởng văn hoá
- Một di sản của định dạng thẻ đục lỗ 80 cột là hiển thị 80 ký tự mỗi hàng là một lựa chọn phổ biến trong thiết kế các thiết bị đầu cuối dựa trên ký tự. Kể từ tháng 11 năm 2011, một số mặc định giao diện ký tự, chẳng hạn như độ rộng của cửa sổ nhắc lệnh trong Microsoft Windows, vẫn được đặt ở 80 cột và một số định dạng tệp, như FITS, vẫn sử dụng hình ảnh thẻ 80 ký tự.
Bây giờ câu hỏi là, tại sao IBM đã chọn 80 thẻ cột vào năm 1928, khi Herman Hollerith trước đây đã sử dụng thẻ cột 24 và 45 ?
Mặc dù tôi không thể tìm thấy một câu trả lời dứt khoát, tôi nghi ngờ rằng sự lựa chọn được dựa trên số đặc trưng của ký tự trên mỗi dòng của máy đánh chữ của thời điểm đó.
Hầu hết các máy đánh chữ lịch sử mà tôi thấy có chiều rộng trục lăn khoảng 9 inch, tương ứng với tiêu chuẩn hóa kích thước giấy rộng khoảng 8 "-8,5" (xem Tại sao kích thước giấy tiêu chuẩn ở Hoa Kỳ 8 ½ "x 11 "? Và Lịch sử của ISO216 Một tiêu chuẩn giấy loạt ).
Thêm một khoảng cách đánh máy điển hình là 10-12 ký tự trên một inch và điều đó sẽ dẫn đến các tài liệu có độ rộng từ 72 đến 90 ký tự, tùy thuộc vào kích thước của lề.
Như vậy, 80 ký tự trên mỗi dòng sẽ thể hiện sự thỏa hiệp tốt giữa khoảng cách lỗ (hình chữ nhật nhỏ so với lỗ tròn lớn hơn) và chiều dài dòng, trong khi vẫn duy trì cùng kích thước thẻ.
Ngẫu nhiên, không phải nơi nào cũng chỉ định độ rộng dòng 80 ký tự trong các tiêu chuẩn mã hóa của họ. Nơi tôi làm việc có giới hạn 132 ký tự, tương ứng với chiều rộng của máy in dòng rộng điển hình , bản in khổ A4 12pt và độ rộng dòng điển hình còn lại trong cửa sổ trình soạn thảo của Eclipse (tối đa hóa trên màn hình 1920x1200) sau Gói Explorer và Quan điểm phác thảo được đưa vào tài khoản.
Mặc dù vậy, tôi vẫn thích mã rộng 80 ký tự vì nó giúp dễ dàng so sánh ba phiên bản của một tệp mà không phải cuộn sang một bên (luôn luôn xấu) hoặc gói dòng (phá hủy định dạng mã). Với mã rộng 80 ký tự, bạn chỉ cần màn hình rộng 240 ký tự (1920 pixel với 8 pixel mỗi ký tự) để xem hợp nhất ba chiều (tổ tiên chung, nhánh cục bộ và nhánh từ xa) thoải mái trên một màn hình.
Tôi muốn nói rằng đó cũng là vì các thiết bị đầu cuối cũ có kích thước 80x24 ký tự: Trở lại thời của các thiết bị đầu cuối 80x24 ...
BIÊN TẬP:
Để trả lời chính xác và kỹ lưỡng hơn cho câu hỏi, 80 ký tự là giới hạn "được chấp nhận phổ biến" hiện tại đối với độ rộng mã bên trong các trình soạn thảo vì các định dạng 80x24 và 80x25 là chế độ màn hình phổ biến nhất trong các thiết bị đầu cuối I / O và máy tính cá nhân ( VT52 - cảm ơn đến Sandman4).
Giới hạn này vẫn còn hiệu lực và IMHO bằng cách nào đó quan trọng vì hai lý do chính: hình học mặc định mà nhiều distro Linux gán cho cửa sổ terminal mới sinh ra vẫn là 80x24 và nhiều người sử dụng chúng như nó vốn có , mà không thay đổi kích thước. Hơn nữa, các lập trình viên kernel, thời gian thực và nhúng thường làm việc trong môi trường "không đầu" mà không có bất kỳ trình quản lý cửa sổ nào. Một lần nữa, độ phân giải màn hình mặc định thường là 80x24 (hoặc 80x25) và trong những tình huống này, thậm chí có thể khó thay đổi cài đặt mặc định này.
Vì vậy, nếu bạn là một kernel, lập trình viên thời gian thực hoặc nhúng, bạn nên ép buộc bản thân phải tôn trọng giới hạn này, chỉ cần "thân thiện" hơn với bất kỳ lập trình viên nào nên đọc mã của bạn.
Mặc dù có lẽ không phải là lý do ban đầu cho giới hạn 80 ký tự, một lý do mà nó được chấp nhận rộng rãi chỉ đơn giản là đọc công thái học :
Điều này được biết đến rộng rãi và được chấp nhận trong typography. Đề xuất tiêu chuẩn (đối với văn bản trong sách, v.v.) là sử dụng nội dung nào đó trong vùng 40-90 ký tự trên mỗi dòng và lý tưởng nhất là khoảng 60 (xem ví dụ Wikipedia , Markus Itkonen: Kiểu chữ và khả năng đọc ).
Nếu bạn nhắm tới 60 ký tự trên mỗi dòng, giới hạn trên của bạn rõ ràng phải cao hơn một chút để phù hợp với biểu thức dài thường xuyên (và những thứ như điểm đánh dấu lề và số dòng), do đó, có giới hạn trên 70-80 có ý nghĩa.
Điều này có lẽ giải thích tại sao giới hạn 80 ký tự được chiếm bởi nhiều hệ thống khác.
Một câu hỏi liên quan là "tại sao vẫn tồn tại 80 cột". Ngay cả các câu trả lời trên trang này cũng xấp xỉ chiều rộng đó. Tôi đồng ý với các lý do lịch sử cho 80 cột, nhưng câu hỏi là tại sao tiêu chuẩn vẫn tồn tại. Tôi sẽ yêu cầu khả năng đọc - cho văn xuôi và mã. Tâm trí của chúng ta chỉ có thể hấp thụ rất nhiều thông tin trong một mảnh. Tôi vẫn sử dụng điểm đánh dấu cột 80 trong trình soạn thảo mã của mình để nhắc nhở tôi khi một câu lệnh trở nên quá dài và tối nghĩa. Nó cũng để lại cho tôi nhiều bất động sản màn hình cho trình duyệt và các cửa sổ IDE hỗ trợ. Cột 80 sống lâu - như một hướng dẫn không phải là một quy tắc.
Một giới hạn độ dài dòng phổ biến khác trong những ngày có phông chữ cố định là 72 ký tự. Ví dụ: Mã Fortran, thư, tin tức.
Một lý do là các cột 73-80 của thẻ đục lỗ thường được dành cho một số sê-ri. Tại sao một số sê-ri? Nếu bạn đánh rơi một cỗ bài, bạn có thể nhặt các thẻ theo bất kỳ thứ tự nào, xếp các góc trên bên trái (luôn có đường cắt chéo) và sử dụng máy phân loại thẻ để lấy lại theo thứ tự.
Một lý do khác cho giới hạn 72 ký tự là các phông chữ phổ biến cao 10 điểm và rộng 6 điểm (1/12 "). Một trang rộng A4 hoặc 8,5" có thể chứa 72 ký tự trong một cột rộng 6 "và vẫn có chỗ cho lề trên một inch.
Cá nhân tôi dính vào "khoảng cột 80" cho đến cuối dòng vì xa hơn điều đó gây ra việc gói hoặc mất mã khi bạn in nó.
Cũng có di sản thẻ đục lỗ, nhưng tôi không nghĩ rằng máy in laser hoặc giấy 8,5x11 inch được thiết lập để tuân thủ các giới hạn thẻ đục lỗ.
Cuộn trong máy in giấy có kích thước Chữ hoặc rộng 15 ..
Đó là máy in dòng 80 cps để sao chép mã hoặc báo cáo, và sau đó trên Epson hỗ trợ in ngưng tụ 132 cps (mã thoát \ 015 cho in ngưng tụ).
Một trong những lý do cho thẻ 80 cột có thể được liên kết với 'cú đấm tay' có thể được sử dụng trước các máy đục lỗ thẻ điện tử. Nó là cái mà tôi đã sử dụng vào đầu những năm 70 trên một trang web máy tính khung chính của Hệ thống ICL. Người ta phải đấm một phần ba? đấm dao trong xe ngựa cùng một lúc.