Государство хотело посчитать своих граждан. Получилось — изобрести будущее.
Конституция США требует проводить перепись населения каждые десять лет, и к 1880 году это требование превратилось в ловушку. Страна росла быстрее, чем чиновники успевали обрабатывать результаты предыдущего подсчёта. Пятьдесят миллионов человек, каждый — строчка в огромном бумажном реестре, и каждую строчку нужно было прочитать, классифицировать и вписать в сводную таблицу вручную. Обработка переписи 1880 года растянулась на восемь с лишним лет. К моменту, когда последние таблицы были наконец готовы, данные уже устарели — люди переехали, родились, умерли, а государство всё ещё подводило итоги прошлого десятилетия.
Причина была не в лени и не в нехватке людей, а в арифметике: население страны за декаду прибавляло миллионы, а скорость ручной обработки не менялась. При таком темпе перепись 1890 года рисковала стать бессмысленной — её результаты могли появиться только к следующей переписи. Бюро переписи населения понимало, что нужен другой метод, и в 1888 году объявило конкурс на механизированную систему обработки данных.
Три участника представили свои решения. Тестовая выборка — реальные данные о населении — стала полигоном. Один из претендентов справился с обработкой за 144,5 часа, другой — за 100,5. Третий участник, молодой инженер по имени Герман Холлерит, закончил за 72,5 часа. По-настоящему ошеломляющей оказалась разница в табулировании — собственно подсчёте и сведении данных: у конкурентов это заняло 44,5 и 55,5 часов, а у Холлерита — 5,5 часа. Разница в десять раз. Бюро не колебалось.
Идея записывать информацию дырками в материале к тому моменту уже прожила больше полувека. Жаккардовые ткацкие станки с начала XIX века использовали перфорированные карты для управления узором: есть отверстие — нить поднимается, нет отверстия — нить остаётся внизу. Чарльз Бэббидж проектировал свою аналитическую машину с прицелом на тот же принцип ввода. Перфорированная лента управляла шарманками и механическими органами. Отверстие как единица кода — древнее, чем электричество в повседневной жизни.
Между идеей и работающей системой лежит пропасть, заполненная инженерными решениями. Жаккардова карта управляла станком — одним конкретным механизмом, выполняющим одну задачу. Холлерит создал универсальную систему: отверстия на карточке кодировали произвольные признаки человека (возраст, пол, место рождения, семейное положение, род занятий), машина считывала эти признаки электрически, счётчики накапливали статистику, а сортировальное устройство раскладывало карточки по категориям для дальнейшего анализа. Грубо говоря, жаккардова карта была нотной записью для одного инструмента, а холлеритовская карточка — анкетой, которую умела читать машина.
Холлерит не изобрёл перфокарту. Он изобрёл то, что делать с перфокартой, когда у тебя их шестьдесят миллионов.
Техническое сердце системы — считыватель — устроено с той элегантной прямотой, которая бывает у вещей, придуманных для реальной работы. Представьте ручной пресс, похожий на переплётный. В верхней части — решётка подпружиненных металлических штифтов. В нижней — плита с гнёздами, на дне каждого из которых налита капля ртути. Между ними оператор кладёт перфокарту.
Когда пресс опускается, штифты идут вниз. Там, где в карточке нет отверстия, бумага останавливает штифт — пружина сжимается, контакта нет. Там, где отверстие пробито, штифт проходит насквозь и касается ртути на дне гнезда. Ртуть — жидкий металл, превосходный проводник — замыкает электрическую цепь. Импульс тока бежит по проводу к одному из 40 циферблатных счётчиков, и стрелка на соответствующем циферблате сдвигается на одно деление. Каждое нажатие пресса — один человек. Каждое отверстие — один факт о нём. Каждый щелчок стрелки — единица в статистической сводке.
Меня завораживает физичность этого процесса. Данные здесь — буквально дырки. Считывание — буквально прикосновение металла к металлу через бумагу. Электричество не вычисляет, оно только передаёт сигнал, но этого достаточно, чтобы снять с человеческих глаз и пальцев чудовищную нагрузку подсчёта. Оператору не нужно читать карточку — машина делает это за него, превращая геометрию отверстий в показания счётчиков.
Отдельного восхищения заслуживает сортировальное устройство. При замыкании определённой цепи электромагнит открывал крышку одного из отсеков сортировочного ящика. Оператор опускал карточку в открывшийся отсек, крышка захлопывалась. Так карточки автоматически группировались по нужному признаку — скажем, все уроженцы Ирландии попадали в один отсек, все уроженцы Германии — в другой. Потом отсортированную стопку можно было пропустить через считыватель снова, уже по другому признаку. Перекрёстная табуляция — подсчёт одного параметра внутри подмножества, выделенного по другому, — становилась рутинной операцией.
Перепись 1890 года охватила более шестидесяти двух миллионов человек. Для каждого была пробита перфокарта. Карточки создавались при помощи пантографа — устройства, позволявшего оператору нажатием рычага пробивать отверстие в нужной позиции. Один оператор пантографа мог подготовить около 500 карт в день. Это означает, что для перфорирования всего массива потребовались сотни людей и месяцы работы — процесс ввода данных оставался ручным и трудоёмким.
Но табулирование — собственно подсчёт — шло с немыслимой для того времени скоростью. 81 клерк работал со считывателями, и в пиковые дни система обрабатывала до 556 346 карт за день. Первые общие итоги переписи — численность населения по штатам — были получены через несколько недель после начала обработки. Для сравнения: аналогичный этап предыдущей переписи занял месяцы.
Здесь нужна честная оговорка. Миф о том, что вся перепись 1890 года была обработана «за несколько недель», — упрощение, кочующее из статьи в статью. Общий подсчёт населения действительно был получен быстро. Но детальные статистические таблицы — распределение по возрастам, профессиям, грамотности, национальному происхождению и десяткам других параметров — продолжали составляться годами. Система Холлерита радикально ускорила каждый отдельный этап, но этапов было много, и каждый требовал нового прогона карточек через считыватели, новой сортировки, новой настройки счётчиков. Перепись — это не один вопрос «сколько нас?», а тысячи вопросов о том, кто мы.
Тем не менее эффект был неоспоримым. Бюро переписи сэкономило миллионы долларов. Данные стали доступны политикам и планировщикам значительно раньше, чем при ручной обработке. А Холлерит получил нечто большее, чем правительственный контракт, — он получил доказательство того, что его система работает в масштабе целой страны.
После успеха переписи Холлерит пошёл по пути, логичному для изобретателя с коммерческой жилкой. Он не продавал машины — он сдавал их в аренду и продавал перфокарты, создав модель, которую полвека спустя назовут «бритва и лезвия». Правительства других стран — Канады, России, Австрии — заинтересовались системой для собственных переписей. Железные дороги и страховые компании обнаружили, что табуляторы пригодны для бухгалтерии и учёта.
Около 1896 года Холлерит основал Tabulating Machine Company. Бизнес рос, но не без трений: Бюро переписи к следующему циклу сочло расценки Холлерита завышенными и стало искать альтернативы. Отношения изобретателя с его главным заказчиком испортились. В 1911 году компания Холлерита вошла в состав конгломерата Computing-Tabulating-Recording Company (CTR), объединившего нескольких производителей счётного и измерительного оборудования.
В 1914 году в CTR пришёл Томас Дж. Уотсон-старший — талантливый управленец, прошедший школу продаж в National Cash Register. Уотсон не был инженером и не имел отношения к изобретению табулятора. Его гений был другого рода: он умел строить корпорации. Под его руководством CTR превратилась в машину по продаже машин — с агрессивным маркетингом, культом лояльности и знаменитым лозунгом THINK, который висел в каждом офисе. В 1924 году Уотсон переименовал компанию в International Business Machines — IBM.
Холлерит к тому времени отошёл от активного управления. Он умер в 1929 году, застав начало превращения своей табуляторной мастерской в одну из крупнейших корпораций мира, но не дожив до эпохи электронных компьютеров, которые его перфокарты будут кормить данными ещё десятилетия.
Есть один аспект холлеритовской системы, который легко упустить за восхищением ртутными контактами и циферблатами. До переписи 1890 года данные о населении существовали в форме записей — строчек в журналах, заполненных почерком переписчика. Запись можно прочитать, но её нельзя обработать механически. Она привязана к языку, к почерку, к формату конкретного бланка.
Перфокарта сделала данные физическим объектом с машиночитаемой структурой. Отверстие в позиции 5 третьего ряда означает «женщина» — и это значение не зависит от языка оператора, его грамотности или настроения. Карточку можно пропустить через считыватель в Вашингтоне или в Вене, и машина прочтёт одно и то же. Карточки можно сортировать, группировать, пересчитывать в новом порядке — по сути, делать с ними то, что сегодня мы делаем запросами к базе данных.
Мне кажется важным не перетягивать эту аналогию. Табулятор Холлерита не был компьютером. Он не выполнял программу, не хранил данные в памяти, не мог принимать условных решений. Он был счётной машиной — быстрой, надёжной, масштабируемой, но принципиально ограниченной. И всё же в зазоре между переписным журналом и перфокартой произошёл сдвиг, последствия которого мы ощущаем до сих пор: информация отделилась от бумаги, на которой была записана человеком, и стала существовать в форме, доступной машине.
Перфокарты IBM формата 80 колонок — потомки холлеритовских карточек — оставались стандартным носителем для ввода данных в компьютеры вплоть до 1970-х годов. Программисты первых поколений писали код, пробивая отверстия в картоне. Когда в 1960-х на карточках печатали предупреждение «Do not fold, spindle or mutilate» — не сгибать, не накалывать, не мять, — они защищали формат данных, придуманный человеком, который решал задачу подсчёта населения за семьдесят лет до того.
Государство хотело узнать, сколько в стране людей. Инженер придумал, как кодировать ответ дырками в бумаге и читать его каплей ртути. Из этого выросла индустрия, которая сегодня обрабатывает больше данных за секунду, чем содержала вся перепись 1890 года, — но до сих пор, в самом глубоком слое, занимается тем же: превращает факты о мире в сигналы, которые можно посчитать.