Перфокарта — это носитель информации в виде картонной пластины с пробитыми отверстиями, кодирующими данные. Изобретённая в начале XIX века, она стала первым массовым средством автоматизации и заложила основы современной информатики. Сегодня перфокарты ушли в историю, но их логика живет в каждом бите цифровых систем.

Суть технологии проста: отверстие есть — единицы, отверстия нет — ноль. Этот двоичный принцип позволил машинам «читать» инструкции без участия оператора. От ткацких узоров до баллистических расчётов — перфокарты управляли сложнейшими процессами на протяжении полутора столетий.

От ткацкого станка к табулятору: рождение идеи

История начинается в 1801 году, когда француз Жозеф-Марий Жаккард представил ткацкий станок с программным управлением. Картоны с дырочками задавали узор ткани — каждый ряд соответствовал одному проходу прутка. Это был первый случай хранения программы на внешнем носителе.

В 1880-х американец Герман Холлерит адаптировал идею для обработки данных переписи населения. Его табулятор считывал перфокарты электрически: иглы протыкали дырки, замыкая цепи. Перепись 1890 года в США заняла 2,5 года вместо прогнозируемых 13 — прорыв, основавший компанию, ставшую впоследствии IBM.

К 1930-м годам перфокарты стали стандартом деловой автоматизации. Банки, страховщики, военные — все использовали карточки формата 7⅜ × 3¼ дюйма (187,3 × 82,5 мм) с 80 столбцами. Этот стандарт, утверждённый IBM в 1928 году, просуществовал до 1980-х.

Принцип кодирования: как дырочки становятся данными

Каждая колонка карты соответствует одному символу. В стандарте IBM 80-колонки используется 12 рядов: 10 цифровых (0–9) и 2 зоновых (11 и 12). Буквы кодируются комбинацией зонового и цифрового пробива — например, «A» это зона 12 + цифра 1.

Специальные символы требуют до трёх пробив в колонке. Кодировка EBCDIC (Extended Binary Coded Decimal Interchange Code), развитая из перфокартовых кодов, до сих пор используется в мейнфреймах IBM. Современные программисты встречают её наследие при миграции легаси-систем.

Физические ограничения накладывали отпечаток на архитектуру ПО. Длина строки в 80 символов — не случайность, а наследие ширины карты. Многие терминалы и редакторы кода до сих пор имеют вертикальную марку на 80-й позиции.

📊 Какое применение перфокарт вам известно лучше всего?
Ткацкие станки Жаккарда
Перепись населения и табуляция
Программирование ранних ЭВМ (IBM, BESM)
Контроль качества в промышленности
Другое/не знаю

Сферы применения: от бухгалтерии до космических полётов

В 1950–1970-е перфокарты были единственным способом загрузить программу в компьютер. Программист писал код на бумаге, перфоратор нанизывал его на карты, оператор сдавал колоду в вычислительный центр. Результат — снова на картах или распечатке. Цикл мог занимать сутки.

Военные использовали карты для баллистических таблиц, кодирования шифров и логистики. Во время Второй мировой машины Bombes в Блетчли-парке и американские ENIAC обрабатывали миллионы карт в день. Ошибка в одной дырке могла стоить жизней.

В гражданской сфере перфокарты управляли зарплатными ведомостями, складскими остатками, ж/д расписанием. Авиакомпании бронировали места через системы вроде SABRE (1960), где карты хранили статусы рейсов. Банки проводили клиринговые операции партиями по тысячи карт за ночь.

⚠️ Внимание: перфокарты крайне чувствительны к влаге и механическим повреждениям. Согнутая или запятнанная карта считывается с ошибкой или застревает в тракте, блокируя работу всего вычислительного центра.
Как выглядел рабочий день программиста эпохи перфокарт?

Программист писал код на кодировочных бланках (специальных листах с разметкой под 80 колонок). Затем бланки отдавались перфораторщицам — чаще всего женщинам — которые набирали код на перфораторе вроде IBM 029. Готовая колода карт (иногда тысячи штук) сдавалась в «ввод-вывод». Если программа не работала, нужно было найти ошибочную карту, перепробить её и сдать колоду заново. Отладка могла длиться неделями.

Железо эпохи: перфораторы, считыватели, сортеры

Экосистема перфокарт включала десятки специализированных машин. Перфоратор (keypunch) — для ввода данных человеком. Считыватель (reader) — для ввода в ЭВМ (скорость до 2000 карт/мин). Сортер — для физической сортировки колод по заданным колонкам. Интерпретатор — печатал текст на карте для визуального контроля.

Сортировка работала по методу распределяющего подсчёта (radix sort). Колода прогонялась через сортер столько раз, сколько значащих разрядов в ключе. При каждом проходе карты разделялись по 10 ящикам (0–9). После последнего прохода колода была отсортирована. Это был первый промышленный алгоритм сортировки, реализованный в железе.

К 1970-м годам появились перфокарты с магнитной полосой (96-колончатый формат IBM System/3) — попытка увеличить плотность. Но магнитные ленты, диски и терминалы уже вытесняли карточную технологию. Последний крупный заказ IBM на перфораторы поступил в 1984 году.

☑️ Чек-лист

Выполнено: 0 / 6

Перфокарты в СССР: собственный путь

В Советском Союзе производство перфокарт и оборудования для них разворачивали с 1950-х. Завод «Коммунар» (Ленинград) выпускал перфораторы ПУ-1, ПУ-2, считыватели ЧЗ-1. Стандарт ГОСТ 10859-64 определял формат 200 × 81 мм с 12 рядами и 45 колонками — отличный от американского.

Отечественные ЭВМ «Стрела», «Урал», БЭСМ-6 работали с перфокартами через внешние устройства. В 1970-х началось производство совместимого с IBM оборудования (серия ЕС ЭВМ). Перфокарты использовались в планировке народного хозяйства, проектировании самолётов, расчётах ядерных реакторов.

Интересный факт: в 1980-е годы в СССР ещё выпускали миллионы пачек перфокарт в год. Последний партию «Коммунар» выпустил в 1995 году. Сегодня карты можно встретить только в музеях или у коллекционеров — например, в Музее вычислительной техники в Пермском крае.

⚠️ Внимание: советские перфокарты (ГОСТ 10859-64) несовместимы с оборудованием стандарта IBM 80-колонки. Попытка прогнать их через импортный считыватель приведёт к затору и поломке механизма подачи.

Наследие в современном коде и культуре

Многие конвенции программирования произросли из ограничений перфокарт. Лимит 80 символов в строке — стандарт стиля в Linux kernel, Google Style Guide, PEP 8. Имена полей в COBOL (до 30 символов) и Fortran (6 символов) отражали ширину колонки. Даже термин «баг» (жучок) популяризировался после случая с молью в реле Harvard Mark II, хотя перфокартовые заторы были чаще.

В культуре перфокарта стала символом эпохи. Фильм «Скрытые фигуры» показывает работу с картами в NASA. Хакерская эстетика 1980-х (фильм «Военные игры») романтизировала колоды карт. Современные арт-объекты используют перфокарты как пиксели — портреты из тысяч карт создаются художниками вроде Никласа Роя.

Коллекционеры платят за редкие экземпляры: карта с автографом Грейс Хоппер или пробная серия «Стрелы» могут стоить тысячи долларов. Обычные коробки карт (2000 шт.) продаются на eBay за $20–50 — как декор или для ремесел.

💡

Если нашли старую коробку перфокарт на чердаке — не выбрасывайте. Проверьте маркировку: карты ранних серий (до 1960 г.), с логотипами несуществующих компаний или с рукописными пометками программистов могут иметь коллекционную ценность. Лучше сфотографируйте и покажите на профильном форуме (например, vintage-computer.ru) перед утилизацией.

Почему технология умерла: технические и экономические причины

Главная проблема — низкая плотность информации. Карта 187×82 мм хранит всего 80 байт (в текстовом режиме). Гигабайт данных потребовал бы 12,5 млн карт — грузовик весом 150 тонн. Магнитная лента давала в 1000 раз большую плотность за ту же стоимость.

Скорость ввода-вывода ограничена механикой. Лучшие считыватели (IBM 2540) давали 1000 карт/мин ≈ 1333 байт/сек. Дисковые накопители 1970-х выдавали мегабайты в секунду. Перфорация карты занимала секунды — программист ждал результат часами.

Экономика ударила окончательно. В 1975 году стоимость хранения байта на перфокарте была в 100 раз выше, чем на диске. Последний гвоздь в крышку забили интерактивные терминалы (VT100, IBM 3270) — программист мог править код на экране и сразу запускать. Карточная пакетная обработка стала архаикой.

💡

Перфокарты ушли не потому, что были «плохими» — они идеально решали задачи своей эпохи. Их сменили технологии, превзошедшие по плотности, скорости и стоимости на порядки. Но двоичная логика «дырка/нет дырки» осталась фундаментом всей цифровой вычислительной техники.

Необычные применения: за пределами вычислений

Перфокарты нашли применение там, где не ждали. В 1960-х японская компания Toyota использовала их для управления станками с числовым управлением (ЧПУ) — предков современных 3D-принтеров. В музыке композитор Ианнис Ксенакис кодировал партитуры на картах для программы UPIC.

В медицине карты хранили истории болезни в крупных клиниках США до 1980-х. В библиотеках — каталоги (система MARC изначально проектировалась под перфокарты). В геологии — сейсмические профили. Даже в лотереях: билет «Спортлото» в СССР был упрощённой перфокартой — игрок сам «программировал» ставку, зачеркивая номера.

В 2023 году художница Рейчел Уитред создала инсталляцию «Память машины» из 50 000 перфокарт, на которых зашифрованы тексты первых программисток. Работа продана на аукционе Christie's за $180 000 — рекорд для искусства из устаревшего железа.

⚠️ Внимание: при демонтаже старых систем управления (ЧПУ, телеметрия, АСУ ТП) перфокарты часто выбрасывают как мусор. Однако они могут содержать уникальные технологические параметры, не перенесённые в цифровой вид. Перед утилизацией — фотофиксация каждой карты.
Можно ли сегодня прочитать перфокарты без оригинального оборудования?

Да. Существует несколько способов: 1) Промышленные сканеры с OCR для перфокарт (например, Digital Data Systems), 2) Обычный плоский сканер 600 dpi + специализированное ПО (PunchCardReader, CardReader.py на GitHub), 3) DIY-решения на базе Raspberry Pi + камера + подсветка. Главное — ровное освещение и отсутствие искажений геометрии. Для разовых задач достаточно сканера и Python-скрипта за 50 строк кода.

FAQ: частые вопросы о перфокартах

Сколько информации помещается на одной перфокарте?

Стандартная карта IBM 80-колонок хранит 80 символов (80 байт в текстовом режиме). В двоичном режиме (каждая дырка — бит) — до 960 бит (120 байт) на 12×80 матрице. Но двоичной записью почти не пользовались из-за сложности ввода.

Почему у перфокарт ровно 80 колонок?

Размер карты (7⅜ × 3¼ дюйма) совпадал с американским банкнотом 1890 года — так Холлерит сэкономил на производстве коробок и сортеров. 80 колонок — компромисс между читаемостью и количеством символов при стандартном шаге пробива 0,087 дюйма.

Что такое «чэд» (chad) и почему он важен?

Чэд — выбитый кусочек картона при перфорации. Накопление чэдов в механизме — главная причина заторов. В истории известен случай: в 2000 году при пересчёте голосов во Флориде «висячие чэды» (недопробитые дырки) в бюллетенях-перфокартах изменили исход президентских выборов США.

Есть ли современные аналоги перфокарт?

Прямых аналогов нет. Ближайшие по духу — QR-коды (оптическое чтение), RFID-метки (бесконтактные данные), бумажные ключи восстановления криптокошельков (seed-фразы на карточке). Принцип «физический носитель с кодированной информацией» жив, но реализация — иная.

Можно ли использовать перфокарты для обучения программированию сегодня?

Да, и это делается. Курсы «Computer Science Unplugged» и некоторые университеты (MIT, Carnegie Mellon) используют бумажные модели перфокарт для объяснения двоичного кода, алгоритмов сортировки и архитектуры фон Неймана. Тактильное взаимодействие помогает новичкам понять абстракции.