Историки информатики и вычислительных устройств имеют довольно странную привычку перелистывать довольно внушительный период от провала Бэббиджа до какого-нибудь уже рабочего компьютера типа военного американского "Mark I" (1944) или, если это не американцы, то до "Z3" (1941) немецкого изобретателя Конрада Цузе. Первенство приписываемое американскому компьютеру, связано видимо с тем, что, как и многие в 30-х и 40-х в Германии, Цузе не чурался сотрудничества с нацистами, а его работы во время Второй мировой войны носили секретный характер. И вплоть до появления компьютера в США, о немецкой машине ни кто не знал[1]. Что ж, поводов отрицать такое положение вещей я не нашел, так что оставим эту историю как есть. (А вообще сомнительно, конечно, учитывая, что до войны то Цузе активно общался с британскими и американскими учеными. В том числе и с более знаменитым его коллегой Клодом Шенноном).
Однако, поговорить бы хотелось не о Цузе и его машине, а о периоде времени между остановкой в предыдущей главе, в середине XIX века, и созданием реально действующих, и что более важно действительно цифровых устройств в середине века XX. А это целая без малого сотня лет, за которые произошло вообще-то гигантское количество событий так или иначе связанных с эволюцией вычислительных устройств, а соответственно и с применением к ним уже оформленной математической логики и теории информации. Необходимо попытаться, развеять эту несправедливо напущенную мглу, из-за которой, в частности, кажется, что история информатики имеет исключительно британо-американские корни.
В самом деле, что упомянутая "Mark I", что "Z3" действительно были первыми прототипами современных программируемых устройств. Главное их отличие от многочисленных арифмометров, разностных машин, табуляторов и той самой Аналитической машины Бэббиджа заключалось в принципе работы на основе двоичной арифметики и логики. С этой точки зрения это были настоящие цифровые устройства в том смысле, в котором мы отличаем их от аналоговых нынче. Более того носителем информации выступило в этот раз не положение тех или иных механических улов, а наличие или отсутствие электрического тока, и даже не его сила или напряжение. А основным узлом в таких устройствах стали электромагнитные реле.
Появляется действительно эдакая пропасть между физическими принципами взятыми за основу: с одной стороны - паровая тяга и шестерни, с другой - электрогенераторы и катушки. Как будто эволюция вычислительных устройств остановилась на некоторое время и получила продолжение только благодаря замене механических узлов на электрические. На самом же деле, конечно, причинно-следственной связи здесь нет. Электрическая теория и практика развивалась параллельно с развитием механики. И развитие как-раз электрической теории в конце концов внесло куда больший вклад как в теорию информации так и в вычислительные устройства, нежели чем изобретение более продвинутых технологий изготовления шарикоподшипников.
И если инженерия двигателей и механических устройств активно подпитывалась глобальной индустриализацией и потребностью во все более эффективном транспорте, то электричество до поры в общем-то оставалось в тени - в лабораториях ученых и отдельных энтузиастов. Одним из таких энтузиастов был знаменитый Майкл Фарадей. Открытие электромагнитной индукции которым в 1831 году, ляжет в основу множества разных электроприборов и позволит развить еще одно направление человеческой деятельности - связь.
Именно связь - желание людей отправлять сообщения друг другу на расстояния - явилась движущей силой развития электрического приборостроения. Именно необходимость защитить сообщения от подслушивания дала толчок развитию криптографии, а впоследствии и появлению теории информации. И именно необходимость расшифровывать защищенные сообщения привела к созданию умных электрических машин, способных очень быстро и очень точно считать. Именно связь, как бы это не звучало, наконец связала все тогдашние достижения науки и техники воедино и сделала современные компьютеры и программы возможными. А началось всё с телеграфа.
История телеграфа сама по себе интересна и берет свои истоки из далекой древности, когда люди научились жечь сигнальные костры. Не будем на ней долго останавливаться. Где-то в XVII веке появились понятные современному человеку семафоры, потом были многочисленные попытки использовать статическое электричество, гальванику, отдельно магнетизм, пока наконец в руки изобретателей не попал электромагнит. Еще до научного обоснования электромагнетизма датским подданным Гансом Эрстедом в дело пошли разнообразные конструкции, позволявшие регистрировать изменения электромагнитного поля на расстоянии[2].
Усилиями таких инженеров и ученых как Павел Львович Шиллинг, Борис Семёнович Якоби, Карл Фридрих Гаусс, Вернер фон Сименс (да да, который Сименс, и кстати член-корреспондент СПбАН), ну и, конечно же, того самого Самуэля Морзе, телеграф распространился по всему миру и к концу XIX века действовал во всех ключевых узлах связи того времени. А позже, с появлением радиосвязи, успешно перекочевал сперва на морской флот, а оттуда на всю военную и прочую передвижную технику.
Однако, возвращаясь ближе к нашей теме, зададимся вопросом: как же конкретно повлиял телеграф на появление программирования? Тут, конечно, возможны разные мнения. Потребность всё более точно, быстро и дешево обсчитывать инженерные расчеты, статистику, деньги в конце-концов никуда не исчезла и после середины XIX. Но как и говорилось ранее, совершенствующиеся арифмометры и разностные машины в принципе более или менее отвечали запросам и развитие вычислительной техники продолжалось в своем механическом воплощении.
Тут впору обозначить еще одно значительное событие - основание фирмы IBM. А точнее основание Германом Холлеритом первой своей фирмы "Tabulating Machine Company".
Холлерит родился в США в семье немецких мигрантов, окончил тамошние университеты и поступил в 1880 Бюро по переписи населения. Работая там со статистическими данными, в то время обрабатываемыми вручную, реализовал идею автоматизации процесса при помощи электромеханического устройства - табулятора. В 1890 правительство США заключило контракт на поставку оборудование Холлерита для подсчета данных переписи населения. Успех был оглушительным. Машина действительно сэкономила гигантские человеческие ресурсы, заодно повысив точность. За каких-то десять лет машина стала востребована по всему миру. Не долго думая Холлерит полностью ушел в производство. А после слияния с еще одной американской фирмой Computing Scale Company of America новая компания была переименована в Computing Tabulating Recording - в будущую IBM[3].
Надо сказать, что табулятор в общем никак не был связан с разностными вычислительными машинами или арифмометрами - это был такой промышленный счетчик на электрической тяге - отдельное направление автоматизации счета. Единственное, что тогда имело признаки Аналитической машины и более поздних машин это носитель информации - перфокарта. Перфокарты в виде стандарта закрепились именно с изобретением табулятора. Перфокарта тогда представляла из себя эдакую форму (20х12) для заполнения данными о гражданах, где в зависимости от национальности, возраста и прочих данных в ней пробивались отверстия. Так что бы потом было проще их обсчитать. В 1928 году был принят формат 80х12 позиций всё для тех же табуляторов IBM. Это потом эти же карты стали применять к другим вычислительным устройствам. Не пропадать же оборудованию для производства и чтения? Совпадение или следствие то, что терминальные устройства будут рассчитаны на две перфокарты (80х24 символа), не очень ясно.
Настоящие же компьютеры IBM появятся гораздо позже этих событий. Серия "Mark", упомянутая в самом начале, как-раз разрабатывалась при непосредственном участии фирмы. Многие историки не перестают при этом утверждать, что инженеры, работавшие над Mark вдохновлялись идеями Бэббиджа. Однако, учитывая, то, что от идей Бэббиджа к тому времени сохранилась только идея использования перфокарт, то, мне кажется, такое утверждение несколько притянуто за уши. Возможно, люди тогда так и говорили, рассказывая о своей работе, однако дело они имели уже с совсем другими принципами и сущностями. А именно с уже хорошо оформленной математической логикой, двоичной арифметикой и электрическими устройствами всё это реализующими.
Так вот существует и второе мнение по поводу того, что же вошло в основу возникновения всех этих новшеств к середине XX века, которых не было в середине века XIX. И хоть для кого-то это может прозвучать странно, но толчком для следующего шага послужила вовсе не необходимость в автоматизации вычислений, а нежелание людей что бы их разговоры кто-то подслушивал. Как только появилась возможность передавать сообщения на расстояния, появилась возможность третьим лицам, не имеющим отношения к сообщению читать эти сообщения. Собственно, тут же люди начали думать, как же сделать так, что бы прочитавший сообщение посторонний ничего не понял.
История криптографии это тоже отдельная и длинная история так же уходящая корнями далеко в древность. Не будем на ней останавливаться. Единственное что надо понимать это то, что как только телеграф стали применять в военных целях, т.е. практически сразу, понадобилось: а - обеспечить надежность доставки, б - защиту от чтения третьими лицами. А поскольку технология передачи была на тот момент новой и не самой надежной, то понадобились новые механизмы её обеспечивающие.
До полноценной Теории информации Шеннона было еще далеко. Тем не менее интуитивные попытки обеспечить надежность телеграфной связи привели к общему принятию азбуки Морзе. Которая является ни чем иным как двоичным кодом из точек и тире - нулей и единиц. Благодаря такому кодированию информации удавалось значительно снизить влияние внешних шумов на передаваемую информацию. Был ли Морзе знаком с работами Лейбница или китайскими триграммами история умалчивает. Азбука Морзе затем несколько раз дорабатывалась и оптимизировалась под автоматические регистраторы: регулировалась длина тире по отношению к точке таким образом, что бы максимально безошибочно и быстро распознавать сигналы. То что в последствии Эмиль Бодо назовет Бодами.
Интересный факт. Русский вариант азбуки Морзе, основанный на подмене латинских символов на кириллицу затем станет основой стандартов KOI-7 и KOI-8 для терминалов UNIX.[5]
Применение же телеграфа в военных целях оказало огромное влияние на методы автоматизации криптографии. Еще за полвека до Первой мировой войны британские военные приняли шифр Плейфера, разработанный английским физиком Чарльзом Уитстоном, в качестве основного метода шифрования телеграфных сообщений[4]. Шифр подходил как для ручного использования, так и оказался достаточно удобен для реализации в виде, появившихся в это же время, электрических коммутационных панелей. Электромеханические шифровальные машины еще на сто лет станут неотъемлемой частью научно-технического прогресса и сыграют одну из главных ролей в создании компьютеров. Надо ли напоминать, что алгоритм и шифр в принципе суть одно и тоже. Но об этом несколько позже.
Упомянутые коммутационные панели так же эволюционируют и превратятся вскоре в печатные платы, а затем и в микросхемы. Развитие электротехники, помимо телеграфа и криптографии, толкало вперед и еще одно изобретение XIX века и тип коммуникации - телефония. Опять же, это параллельная и сама по себе увлекательная история. Нас интересует появление больших городских коммутационных станций - сперва механических, где каналы переключались вручную телефонистками, а затем автоматических релейных. Нетрудно понять, что усложнение телефонных сетей, коммутационных станций повлекло за собой не только развитие приборостроения, но и разработку новейших математических изысканий, нацеленных на целенаправленное улучшение таких комплексов оборудования.
Из всего сказанного необходимо сделать вывод, что связь стала тем самым плацдармом для применения как вполне материальных изобретений, так и теоретических изысканий математиков периода между закрытием проекта Бэббиджа и появлением компьютеров. Хоть компьютеры как явление всё еще оставались на чертежах энтузиастов в течении ста лет, необходимо подчеркнуть еще раз, что они бы и не возникли в середине XIX века такими, каким мы их представляем себе сейчас. Для этого понадобилась еще огромная масса открытий, изобретений, технологий, а главное появление острой потребностей в них у людей. Главным образом у военных.
Далее история информатики и программирования непосредственно берется за ручку с армией и вооружением и превращается из средства автоматизации в средство ведения боевых действий, как впрочем и все достижения науки и техники. С другой стороны, наука, в том числе и компьютерная получает еще один сильнейший толчок. О котором, в следующей части.
1. Norman J. Key Contributions of Konrad Zuse to the History of Computer Design and Software URL: https://www.historyofinformation.com/detail.php?id=613
2. Блог компании МегаФон. История телеграфа в кратком изложении. URL: https://habr.com/ru/company/megafon/blog/193538/
3. Ананьева О. Статистическая машина Г.Холлерита. URL: http://informat444.narod.ru/museum/pres/pl-5-99.htm
4. Криптография: история шифровального дела. URL: https://rostec.ru/news/kriptografiya-istoriya-shifrovalnogo-dela/
5. Полное собрание законов Российской Империи. Собрание Второе. Том XXXI. Отделение 1. — СПб.: 1857. — С. 366 Архивная копия от 30 января 2015 на Wayback Machine. URL: http://web.archive.org/web/20150130212440/http://www.runivers.ru/bookreader/book9921/#page/1/mode/1up
Запощено под Evanescence - Evanescence