Читать нас в Telegram
Иллюстрация: Лара Холод

Таблицы и гомеопатия

Бэббидж использовал перфокарты лишь для ввода цифровой информации в вычислительную машину. А вот его современник Семён Николаевич Корсаков (1787–1853) предложил совершенно иной способ использования перфокарт — не для вычислений, а для «сравнения идей».

Сын военного инженера, Корсаков рано начинает карьеру: уже в 1805 году он поступает на службу в Архив Коллегии иностранных дел в Москве. После участия в Отечественной войне 1812 года Корсаков служит в министерстве полиции, затем в министерствах юстиции и внутренних дел; везде он занимается статистикой.

Семён Корсаков в молодости. Источник: Талдомский историко-литературный музей

В 1829 году Корсаков увлекся гомеопатией (тогда она ещё не считалась лженаукой). И его публикации на эту тему высоко оценивал сам отец гомеопатии Самуэль Ганеман. Именно занятия этой дисциплиной привели Корсакова к главному изобретению его жизни. В 1831 году один из пациентов Корсакова, генерал-майор Николай Муравьёв, предложил создать таблицу, где определённым симптомам заболеваний соответствовали гомеопатические лекарства. Корсаков много работал с таблицами и знал, насколько трудно делать это вручную. Идея Муравьёва натолкнула его на мысль о механизации такой работы.

В 1832 году Корсаков направляет в Академию наук письмо, где просит рассмотреть созданный им «новый способ исследования». Одновременно с этим он выпускает на французском языке брошюру «Начертание нового способа исследования при помощи машин для сравнения идей».

В чём заключается идея Корсакова? Представим себе таблицу наподобие той, что предлагал Муравьёв. Её строки соответствуют симптомам, а столбцы — заболеваниям. Если определённому заболеванию (например, простуде) соответствует симптом (кашель), то на пересечении соответствующих столбца и строки следует проколоть отверстие (готовая таблица отмечена цифрой III на рисунке ниже).

Изобретённые Корсаковым машины для сравнения идей (иллюстрация из брошюры изобретателя). Источник: НЭБ

Теперь мы хотим узнать, какой болезни соответствуют симптомы. Для этого нужно использовать одно из предложенных Корсаковым устройств. Самое простое из них, прямолинейный гомеоскоп с неподвижными частями, — это брусок, в который вставлено столько игл, сколько есть строк в таблице (цифра I на рисунке). Гомеоскоп нужно поставить в начало таблицы и опустить вниз те иглы, которые обозначают симптомы (цифра II на рисунке). Затем гомеоскоп нужно двигать вдоль таблицы. Когда все опущенные иглы попадут в отверстия в таблице, гомеоскоп остановится над столбцом, обозначающим интересующую нас болезнь. Другие приборы Корсакова действуют подобным образом и позволяют, например, находить не только точное, но и частичное соответствие между запросом и сведениями из таблицы. 

Появление баз данных

Сегодня очевидно, для чего предназначались машины Корсакова — они должны были стать механической базой данных. По мысли изобретателя, с помощью его устройств можно было производить поиск по массивам данных, используя разные логические операторы (И, ИЛИ, НЕ). Сама идея Корсакова была гениальна и опережала своё время на многие десятилетия, но воплотить её в жизнь не получилось.

Академия наук, получив прошение Корсакова, собрала комиссию, которая внимательно изучила его проект. Академики отдали должное оригинальности идей, но сочли их совершенно непрактичными. Сам Корсаков считал, что создал метод исследования и инструменты для получения нового знания. Однако комиссия с этим не согласилась: «Прежде всего, ни чистая, ни прикладная математика не могут извлечь из них никакой пользы, потому что сущность [этих наук] нельзя свести к таблицам. То же относится к физике и химии».

Академики согласились, что машины Корсакова могут служить для поиска и сравнения различных понятий, однако «составление таблицы представило бы огромную работу, причём очень кропотливую», поэтому никто не взялся бы за неё. Отзыв комиссии заканчивался так: «Г-н Корсаков потратил слишком много разума на то, чтобы научить других обходиться без разума». После этого Корсаков не возвращался к своему проекту.

Хотя идеи Бэббиджа и Корсакова не были реализованы, к концу XIX века перфокарты начали активно использоваться для хранения и обработки информации. В это время появились такие большие массивы данных, что их стало невозможно обрабатывать вручную.

Перфокарты для переписи населения

В 1880 году в США прошла очередная перепись населения. В обработке её результатов участвовал и недавний выпускник Колумбийского горного училища Герман Холлерит (1860–1929). Его коллега, военный врач Джон Шоу Биллингс заметил, наблюдая за работой клерков: «Должна же быть какая-то машина для выполнения этой механической работы». Он же в общих чертах обрисовал решение: данные о каждом человеке записываются с помощью отверстий на отдельную карточку, которая затем обрабатывается с помощью специальных устройств. Холлерит загорелся идеей. Вскоре он уволился из Бюро переписи и начал разрабатывать свою систему обработки данных.

Система Холлерита. Источник: habr

Принцип действия системы Холлерита:

  1. Данные о каждом человеке заносятся на отдельную карточку. Каждое отверстие соответствует наличие какого-либо признака — пола, возраста, цвета кожи.
  2. Оператор пропускает карточки через табулятор (автоматическую счётную машину), и если в определённом месте на карточке есть отверстие, электрическая цепь замыкается и счётчик увеличивается на один. Каждый счётчик подсчитывает количество карт с определённым признаком. 
  3. При считывании карточки автоматически открывается ячейка в сортировочном ящике, куда помещается карточка. 

Уникальной новацией Холлерита было применение одной перфокарты для записи одной единицы информации. Во всех предыдущих системах — станке Жаккара, аналитической машине Бэббиджа, гомеоскопе Корсакова — единичная перфокарта не имела смысла, так как информация записывалась на набор карт. В системе Холлерита каждая карта содержала информацию только об одном человеке. Благодаря этому перфокарты можно было сортировать по одному конкретному признаку или их комбинации и находить в массивах данных новые закономерности.

В 1889 году, после нескольких тестовых применений своей системы, Холлерит выигрывает конкурс на обработку данных, полученных во время переписи населения 1890 года. Скорость обработки для того времени была огромной: первые результаты были обнародованы уже через шесть недель. В целом обработка результатов переписи 1890 года заняла три года (против восьми лет для переписи 1880 года). Использование системы Холлерита позволило сэкономить порядка пяти миллионов долларов при общей стоимости переписи около 12 миллионов.

Перфокарта американской переписи населения 1890 года. Источник: [1]

После этого успеха Холлериту удалось продать новую технологию иностранным правительствам и крупному бизнесу. С одной стороны, его машины начали применять для переписей населения в Австрии, России, Великобритании и других странах. С другой — Холлерит стал внедрять счётно-аналитические машины в страховых компаниях, на железных дорогах и других предприятиях, где нужно было быстро и эффективно обрабатывать большие массивы информации. В 1907 году он предложил первую стандартную перфокарту размером 19,7 × 8,3 см, с десятью рядами и 45 колонками.

Перфокарты стандарта 1907. Источник: [1]

Перфокарты стандарта 1928 года. Источник: Винер Я. Е., Неслуховский С. К. Энциклопедия счётных машин. М.; Л.: Техника управления, 1931

Ставка на бизнес сработала: в 1915 году у основанной Холлеритом Computing-Tabulating-Recording Company было уже 550 клиентов, которые использовали 1076 табуляторов и 827 сортировальных машин для обработки 660 млн перфокарт в год. В 1924 году компания меняет название на International Business Machines (IBM). В 1928 году IBM вводит новый формат перфокарты — размером 18,7 × 8,3 см (чуть меньше карты 1907 года), но с 80 колонками, что позволило почти вдвое увеличить ёмкость. Этого удалось добиться с помощью замены круглых перфораций на прямоугольные. Новый формат станет стандартным до конца эпохи перфокарт.

Монополия Холлерита длилась недолго: уже в 1911 году у него появился первый конкурент, Powers Tabulating Machine Company. Её создал эмигрировавший из Российской империи инженер Джеймс Легранд Пауэрс (1870–1927). В 1927 году эта компания объединилась с семью другими в концерн Remington Rand. Интересно, что до 1928 года машины IBM и Remington Rand были совместимы, так как использовали перфокарты образца 1907 года.  В статье на habr можно подробнее прочитать о том, как зарождался рынок обработки данных и о первой войне стандартов.

Зарождение компьютеров

К концу 1930-х годов счётно-аналитические машины заметно усовершенствовались. Если первые счетные машины-табуляторы могли работать только с картами, которые обладают определённым признаком, то новые поколения машин умели автоматически производить арифметические операции, подсчитывать промежуточные и итоговые результаты, печатать не только цифры, но и буквы. Комплекты оборудования IBM и Remington Rand можно было встретить во всех уголках мира. С их помощью не только производили финансовые подсчёты, но и предсказывали погоду, составляли каталоги звёзд и даже изучали флору и фауну Британских островов.

Машиносчётная станция с оборудованием Remington Rand. Справа две девушки работают за перфораторами, выше — табулятор и сортировальная машина. Фото из журнала La science et la vie, 1931 год. Источник: Le Cnum

Во второй половине 1930-х годов, ровно через сто лет после работ Бэббиджа, многие учёные начинают разработку вычислительных машин, работающих автоматически по заранее заданной программе. Здесь мы не будем погружаться в историю компьютера. Заметим лишь, что, когда понадобилось разработать устройства для ввода и вывода информации, инженеры обратились к перфокартам (и перфолентам, но об этом в другой раз). К тому моменту перфокарты успели стать стандартным способом записи информации в машиночитаемом виде.

Широкое применение компьютеров началось после Второй мировой войны. До середины 1960-х годов счётно-аналитические машины ещё могли конкурировать с более дорогими и сложными компьютерами, однако их дни были сочтены. Уже в 1952 году Бюро переписи населения США, начавшее в 1890 году масштабное использование перфокарт, приобрело свой первый компьютер — UNIVAC I производства Remington Rand. Десять лет спустя, в 1962 году, IBM впервые получила больше прибыли от компьютеров, чем от счётно-аналитических машин.

Записанная на перфокартах компьютерная программа, 1950-е годы. Объём программы — около 5 Мб. Источник: Computer History Museum

Перфокарты (и перфоленты) остались главным средством ввода информации в компьютер вплоть до широкого распространения терминалов с дисплеями в 1970-х годах. Старые счётно-аналитические машины тоже не исчезли в одночасье: они продолжали использовать до конца XX века. А в 2012 году журналисты узнали, что американская компания Sparkler Filters до сих пор использует перфокарты для ведения своей бухгалтерии: в основе их системы был табулятор IBM 402, выпущенный в 1948 году!

Наследие перфокарт остается заметным даже в современных компьютерах. До сих пор интерфейсы командной строки многих операционных систем и программ имеют стандартную длину строки в 80 знаков. Эта длина напрямую восходит к размеру перфокарты IBM образца 1928 года, которая, как мы помним, имела 80 столбцов. Так до наших дней дошло наследие технологии, которая появилась ещё триста лет назад.

Источники

  1. Колесников Е. А. Перфокарты. Технико-исторические заметки. СПб.: «Реноме», 2016. URL: http://kolesnikov.net/Kolesnikov2016.pdf (дата обращения 10.08.2024).
  2. Шилов В. В. На пути к искусственному интеллекту. Логические машины и их создатели. М.: ЛЕНАНД, 2019.
  3. Heide L. Punched-Card Systems and the Early Information Explosion, 1880–1945. Johns Hopkins University Press, 2009. URL: https://muse.jhu.edu/book/3454 (дата обращения 10.08.2024).
  4. Truesdell L. E. The Development of Punch Card Tabulation in the Bureau of the Census, 1890–1940. Washington, 1965. URL: https://books.google.ru/books?id=MGZqAAAAMAAJ&printsec=frontcover#v=onepage&q&f=false (дата обращения 10.08.2024).