it-swarm-vi.com

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 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ì?

592
fredley

Bạn có thể cảm ơn IBM thẻ đục lỗ cho giới hạn này - nó có 80 cột:

IBM punch card

748
Oded

Như oded đã đề cập, tiêu chuẩn mã hóa phổ biến này là kết quả của năm 1928 của IBM định dạng thẻ đục lỗ 80 cột , vì nhiều tiêu chuẩn mã hóa có từ thời các chương trình được viết bằng cú đấm thẻ, một thẻ/dòng tại một thời điểm và thậm chí việc chuyển sang màn hình rộng hơn không làm thay đổi thực tế rằng mã trở nên khó đọc hơn khi nó trở nên rộng hơn.

Từ trang wikipedia trên 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ư lệnh Prompt chiều rộng của cửa sổ 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ẻ 24 và 45 cột ?

Mặc dù tôi không thể tìm thấy câu trả lời dứt khoát, tôi nghi ngờ rằng sự lựa chọn dựa trên số lượng điển hình ký tự trên mỗi dòng của máy đánh chữ thời đó.

Hầu hết máy đánh chữ lịch sử Tôi đã thấy có Platen chiều rộng 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"?Lịch sử của ISO216 Một loạt tiêu chuẩn giấy ).

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 điển hình rộng máy in dòng của yore, phong cảnh 12pt Bản in A4 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 (được tối đa hóa trên màn hình 1920x1200) sau khi xem xét các gói của Explorer và Outline.

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 toàn bộ hợp nhất ba chiề (tổ tiên chung, nhánh cục bộ và nhánh từ xa) một cách thoải mái trên một màn hình.

258
Mark Booth

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ự: Quay 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 trình chỉnh sửa vì đị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 Sandman4).

Giới hạn này vẫn còn hiệu lực và bằng cách nào đó IMHO quan trọng vì hai lý do chính: hình học mặc định mà nhiều bản phân phối Linux gán cho các cửa sổ đầu cuối mới được sinh ra vẫn là 80x24 và nhiều người sử dụng chúng như hiện tại , 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.

63
Avio

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 :

  • Nếu các dòng quá ngắn, văn bản trở nên khó đọc vì bạn phải liên tục nhảy từ dòng này sang dòng tiếp theo trong khi đọc.
  • Nếu các dòng quá dài, việc nhảy dòng trở nên quá khó vì bạn "mất dòng" trong khi quay lại điểm bắt đầu của dòng tiếp theo (điều này có thể được giảm thiểu bằng cách có khoảng cách giữa các dòng lớn hơn, nhưng điều này cũng gây lãng phí không gian).

Đ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 (cho 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 lý tưởng 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.

55
sleske

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ổ hỗ trợ IDE. Cột 80 tồn tại lâu - như một hướng dẫn không phải là quy tắc.

28
Paul Marrington

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.

12
Larry Tesler

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ỗ.

7
CMike

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ụ).

4
Rony

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.

1
Ray Denton