Чому 80 символів є "стандартним" обмеженням для ширини коду? Чому 80, а не 79, 81 чи 100? Яке походження саме цього значення?
Чому 80 символів є "стандартним" обмеженням для ширини коду? Чому 80, а не 79, 81 чи 100? Яке походження саме цього значення?
Відповіді:
Ви можете подякувати перфокартці IBM за цей ліміт - на ньому було 80 стовпців:
Як було сказано в одарі , цей загальний стандарт кодування є результатом формату перфорованої колонки IBM 1928 80 , оскільки багато стандартів кодування датуються часом, коли програми писалися на перфокартах, по одній картці / рядку і навіть переході. на ширших екранах не змінився той факт, що код стає важче читати, чим він стає.
На сторінці вікіпедії на перфокарті :
Культурний вплив
- Наслідком формату картки з перфорованою 80 стовпцями є те, що відображення 80 символів на рядок було поширеним вибором у дизайні терміналів на основі символів. З листопада 2011 року деякі параметри за замовчуванням символьного інтерфейсу, такі як ширина вікна командного рядка в Microsoft Windows, залишаються встановленими в 80 стовпцях, а деякі формати файлів, такі як FITS, досі використовують зображення 80 символів карт.
Тепер питання полягає в тому, чому IBM обрала 80 карт стовпців у 1928 році, коли Герман Холлеріт раніше використовував картки з 24 та 45 стовпцями ?
Хоча я не можу знайти остаточної відповіді, я підозрюю, що вибір ґрунтувався на типовій кількості символів на рядку машинок того часу.
Більшість історичних друкарських машинок, яких я бачив, мали ширину валика близько 9 дюймів, що відповідає стандартизації розмірів паперу до ширини приблизно 8 "-8,5" (див. Чому стандартний розмір паперу в США 8 ½ "x 11 "? та історія паперового стандарту серії ISO216 ).
Додайте типовий крок на друкарській машинці 10-12 символів на дюйм, і це призведе до документів із шириною від 72 до 90 символів, залежно від розміру поля.
Таким чином, 80 символів на рядок представляли б хороший компроміс між кроком отвору (малі прямокутні та великі круглі отвори) та довжиною лінії, зберігаючи однаковий розмір картки.
До речі, не скрізь у своїх стандартах кодування вказується ширина рядка 80 символів. Там, де я працюю, встановлено обмеження 132 символів, що відповідає ширині типових широкоформатних принтерів у минулому, 12-кратній альбомній роздруківці А4 та типовій ширині ліній, що залишаються у вікні редактора Eclipse (максимізованому на екрані 1920x1200) після Package Explorer та Оглядові контури враховуються.
Незважаючи на це, я все ще віддаю перевагу коду на 80 символів, оскільки це полегшує порівняння трьох версій файлу поруч, не прокручуючи збоку (завжди погано) або загортаючи рядки (що руйнує форматування коду). З кодом на 80 символів вам знадобиться лише екран на 240 символів (1920 пікселів при 8 пікселях на символ), щоб зручно побачити повне тристоронне злиття (загальний пращур, місцева гілка та віддалене відділення) на одному екрані.
Я б сказав, що це також тому, що старі термінали мали (в основному) розміри 80x24 символів: Ще в часи терміналів 80x24 ...
Редагувати:
Щоб відповісти точніше та ретельніше на запитання, 80 символів - це поточне "загальновизнане" обмеження ширини коду всередині редакторів, оскільки формати 80x24 та 80x25 були найпоширенішими режимами екрану на ранніх терміналах вводу / виводу та персональних комп'ютерах ( VT52 - дякую до Sandman4).
Цей ліміт є дійсним і важливим для IMHO з двох основних причин: геометрія за замовчуванням, яку багато дистрибутивів Linux присвоюють нещодавно породженим вікнам терміналів, все ще становить 80x24, і багато людей використовують їх як є , не змінюючи розмір. Більше того, програмісти ядра, в режимі реального часу та вбудовані програми часто працюють у "безголовому" середовищі без будь-якого менеджера вікон. Знову ж таки, роздільна здатність екрана за замовчуванням часто становить 80x24 (або 80x25), і в цих ситуаціях навіть це може бути важко змінити цей параметр за замовчуванням.
Тож якщо ви ядро, програміст в режимі реального часу або вбудований програміст, ви повинні змусити себе дотримуватися цього обмеження, просто бути трохи більш "доброзичливим" до будь-якого програміста, який повинен прочитати ваш код.
Хоча, мабуть, не первісна причина обмеження 80 символів, причиною того, що його широко прийняли, є просто читання ергономіки :
Це широко відомо і прийнято в типографії. Стандартна рекомендація (для тексту в книгах тощо) полягає в тому, щоб використовувати щось у районі 40-90 символів на рядок , а в ідеалі близько 60 (див., Наприклад, Вікіпедія , Маркус Ітконен: Типографія та читабельність ).
Якщо ви орієнтуєтесь на 60 символів на рядок, верхня межа, очевидно, повинна бути трохи вище, щоб вмістити час від часу довгий вираз (і такі речі, як маркер поля та номери рядків), тому мати верхню межу 70-80 має сенс.
Це, мабуть, пояснює, чому обмеження 80 символів перейняли багато інших систем.
Питання пов'язане з тим, "чому зберігається 80 стовпців". Навіть відповіді на цій сторінці приблизно такої ширини. Я погоджуюся з історичними причинами 80 колонок, але питання полягає в тому, чому стандарт зберігається. Я б стверджував, що читабельність - для прози та коду. Наш розум може поглинути стільки інформації лише однією частиною. Я все ще використовую маркер стовпців 80 у своєму редакторі коду, щоб нагадати мені, коли вислів стає занадто довгим і незрозумілим. Це також залишає мені безліч екрану нерухомості для браузера та підтримуючих вікон IDE. Хай живе 80 стовпчик - як керівництво не правило.
Ще одна поширена межа довжини рядка в дні фіксованих шрифтів з фіксованою висотою - 72 символи. Приклади: код Fortran, пошта, новини.
Однією з причин було те, що стовпчики 73-80 перфокарт часто резервувались для серійного номера. Чому серійний номер? Якщо ви скинули колоду карт, ви можете забрати картки в будь-якому порядку, вирівняти ліві верхні кути (які завжди мали діагональний зріз) і використовувати машину для сортування карт, щоб повернути їх у порядок.
Ще одна причина обмеження 72 символів полягала в тому, що загальні шрифти були високими в 10 балів і шириною 6 балів (1/12 "). Сторінка формату А4 або 8,5" може містити 72 символи в колоні шириною 6 "і все ще мати місце для поля понад дюйм.
Я особисто дотримуюся "приблизно стовпця 80" для мого кінця рядка, тому що далі, ніж це призводить до загортання або втраченого коду при його друкуванні.
Також є спадщина перфокартів, але я не думаю, що лазерні принтери або 8,5х11-дюймовий папір встановлені таким чином, щоб вони відповідали обмеженням перфокарт.
Прокрутка в документах для принтерів була розміром літер або шириною 15 ".
Це були лінійні принтери на 80 cps для копіювання кодів або звітів, а пізніше Epson підтримує конденсований друк 132 cps (вихідний код \ 015 для конденсованого друку).
Однією з причин карт 80 карт можуть бути пов’язані з «ручним ударом», який, ймовірно, використовувався до машин для пробивання електронних карт. Це той, який я використовував на початку 70-х років на основному комп'ютерному веб-сайті системи ICL 4-50. Треба було пробити секцію з трьох? одночасно пробивати ножі в вагоні.