Юрий
Ревич
«Если
непредубежденный… человек достигнет успеха в конструировании
машины, воплощающей в себе целый исполнительский отдел
математического анализа, я без риска оставляю свою репутацию
на его ответственность, так как только он один сможет
полностью оценить природу моих попыток и значения их
результатов».
Ч. Бэббидж, около 1860
«Аналитическая машина не претендует на то,
чтобы создавать что-то действительно новое. Машина может
выполнить все то, что мы умеем ей предписать».
Ада
Лавлейс, 1843
Есть в истории личности, которые хотя и жили давным-давно, но принадлежат они нашему времени более чем своему. Это никого не удивляет, когда речь идет о философах, художниках или ученых, но это сверх удивительно, когда разговор заходит о технике и технологии. Популярность компьютерных технологий, в последние десятилетия подчинившая в определенном смысле многие другие области человеческой деятельности, не оставляет места для ностальгии по старому доброму времени. Достижения тридцатилетних становятся древней историей, едва им исполняется 40. Что же можно в этих условиях увидеть интересного в деятельности изобретателя, родившегося не десятилетия даже, а более двух веков назад?!
Тут надо вспомнить, что люди вообще считать-то толком научились не так давно - десятичная позиционная система получила повсеместное распространение в Европе не ранее XIV века, а в России - и вовсе после Петра. До этого считали на абаке (в России - на счетах), а числа записывались с помощью алфавита. Существование абака, как ни странно, тормозило изобретение механических устройств для счета, так как для них необходимо было глубокое понимание сущности производимых действий.
Однако к началу XIX века идея массовой механизации вычислений уже витала в воздухе. Основным заказчиком таких устройств были, как и в наши времена, военные - проблема создания навигационных таблиц стояла в те времена достаточно остро. Для решения ее привлекались лучшие умы. Но и они не были застрахованы от ошибок. Рассказывают следующую занимательную историю: во время передышки в ходе англо-испанской войны некий испанский капитан нанес дружественный визит на английский военный корабль, где англичане подарили ему роскошное издание навигационных таблиц, составленных выдающимся физиком Томасом Юнгом. Эти таблицы были, однако, совершенно ошибочными - Юнг забыл учесть високосные годы. Не подозревавший об этом испанец с благодарностью покинул «гостеприимных» хозяев и… больше его не видел никто. Может быть, это один из первых случаев удачного применения дезинформации противника в истории тайной войны.
Идея построения «разностной машины» для вычисления таблиц (не только навигационных, но и тригонометрических, логарифмических, таблиц сложных процентов и других, совершенно необходимых для развития зарождающегося индустриального общества) у Ч. Бэббиджа возникла еще в 1812 году, во время учебы в Кембриджском университете. Такое название она получила из-за использования метода «конечных разностей», широко применявшегося при ручном счете. Но сначала, как положено, некоторые даты из жизни нашего героя.
Чарльз Бэббидж (Charles Babbage) родился в 1791 году в Англии. Состояние его отца, банкира, не только позволило юному Чарльзу обучаться в частных школах и закончить Кембридж, но и сделало его относительно финансово независимым на всю оставшуюся жизнь. Любимым его чтением еще в школе был учебник алгебры. Поступив в 1810 году в знаменитый Тринити-колледж, Чарльз обнаружил, что уже знает математику лучше большинства своих сверстников. Положение в английской науке в то время несколько напоминало недавнюю историю России - существовало «единственно верное учение» Ньютона, а все остальное - иностранная «лженаука». Бэббидж совместно с друзьями (Д. Гершелем, сыном знаменитого астронома, и Д. Пикоком) основал «Аналитическое общество», которому суждено было сыграть выдающуюся роль в английской математике. В 1815 году он женится и переезжает в Лондон. Всего у него было восемь детей за тринадцать лет брака, пятеро из которых умерли в детстве. В 1828 году умерла его жена.
Бэббидж был весьма одаренным и разносторонним человеком. Среди его друзей числятся Лаплас, Гумбольт, Био, он поддерживал близкие отношения с Дарвином, Мальтусом, Теккереем, Юнгом, Стефенсоном, Фурье, Пуассоном, Фуко, Дэви, Бесселем и многими-многими другими. Менее всего он соответствовал сложившемуся стереотипу гениального изобретателя как непризнанного гения. Вовсе нет, большинство его идей были вполне поняты современниками (хотя и не все, не всеми и не в полной мере), включая и главное дело его жизни - разностную, а затем аналитическую машину. Более того, правительство Англии, которое в то время обычно не финансировало научные исследования, в виде исключения периодически выделяло Бэббиджу определенные суммы. Причины практических неудач Бэббиджа (он сам считал себя неудачником и к концу жизни обозлился на все человечество, но уместно задать вопрос: можно ли по большому счету назвать неудачной деятельность этого человека?) лежат в иной области.
Работать над созданием разностной машины Бэббидж начал вскоре после 1812 года. Прежде всего, у него возникло множество, как сейчас бы сказали, технологических проблем. Приходилось не только изобретать узлы и механизмы, но и способы их изготовления с достаточной точностью. Тем не менее, Бэббидж сумел к 1822 году построить действующую модель, на которой он рассчитал, в частности, таблицу квадратов. В том же году он обратился с письмом к президенту Королевского общества - знаменитому химику Гэмфри Дэви - с предложением построить значительно большую машину, позволяющую с достаточной точностью вести расчет навигационных, астрономических и тригонометрических таблиц. Он предвидел масштабы необходимых затрат, но, как выяснилось позднее, все же ошибся почти на порядок. В 1823 году при содействии Дэви, который подтвердил реальность проекта, правительство Англии выделило первые 1500 фунтов с обязательством со стороны Бэббиджа построить машину за три года. Через десять лет машина все еще не была построена, хотя истрачено было 17 000 фунтов правительственных денег и 13 000 собственных денег Бэббиджа - огромное состояние по тем временам!
История разностной машины, возможно, имела бы более счастливый конец, если бы не одно обстоятельство, из-за которого имя Бэббиджа и осталось навсегда в истории науки и технологии. Около 1833 года ему пришла в голову идея усовершенствованной машины - «аналитической», после чего он разностную машину практически похоронил. И это была первая в истории идея ЦВМ.
В одной из прошлых статей я писал, чем калькулятор отличается от компьютера - первый работает, подобно музыкальному автомату, по раз и навсегда заданной программе, а компьютер теоретически может выполнять таких программ бесконечное множество. Именно этим отличалась разностная машина от аналитической.
Аналитическая машина Бэббиджа содержала все узлы сегодняшнего компьютера: ОЗУ на регистрах из колес (Бэббидж назвал его «store» - склад), АЛУ - арифметико-логическое устройство (он предложил для него название «mill» - мельница), устройство управления и устройства ввода-вывода, последних было даже целых три: печать одной или двух копий (!), изготовление стереотипного отпечатка и пробивка на перфокартах. Перфокарты (изобретение отнюдь не Бэббиджа, они использовались в ткацких станках Жаккара к тому времени уже несколько десятилетий) служили и для ввода программы и данных в машину. ОЗУ имело емкость 1000 чисел по 50 десятичных знаков (то есть около 20 Кбайт), что более чем прилично - для сравнения укажем, что ЗУ одной из первых ЭВМ «Эниак» (1945 г.) имело объем всего 20 десятиразрядных чисел, а знаменитый Aplle II (1980 г.) поступал в продажу чаще всего с 48 Кбайт общей памяти - для программ и данных. АЛУ имело, как мы бы сейчас сказали, аппаратную поддержку всех четырех действий арифметики. Можете себе представить - 1834 год! Еще не изобретены фотография и электрические генераторы, и в помине нет телефона и радио, только-только начали прокладывать первые железные дороги и телеграфные линии. Радиоактивность, которая повлечет за собой всю цепочку событий, приведших в том числе и к достижениям современной технологии полупроводников, откроют только в 1890-х годах. На морях безраздельно господствует парус, на суше - друг человека лошадь. А тут - ЦВМ! И ведь конструкцией дело не ограничилось.
На исторической сцене появляется другой персонаж, а именно Ада Августа Лавлейс, дочь Байрона и первая в истории программистка. Она прожила короткую жизнь, умерев в 1852 году в возрасте 37 лет, но счастливую, не в пример жизни ее матери, вынужденной расстаться с мужем, когда Аде не исполнилось и месяца. Ада с малолетства поражала современников своим быстрым математическим умом. Кроме того, в отличие от Бэббиджа, на дух не переносившего никакой лирики, Ада прилично играла на нескольких инструментах. Окружающие поощряли математические занятия Ады, в том числе и ее муж, граф Лавлейс, что само по себе не очень обычно для тех времен.
В 1842 году итальянец Менабреа (впоследствии - премьер-министр Италии!) опубликовал описание аналитической машины Бэббиджа на итальянском языке. Сам Бэббидж не был расположен к популяризации своих идей - еще одна черта неутомимого характера, ему было жаль времени. Поэтому он активно приветствовал появление английского перевода работы Менабреа, сделанного Адой Лавлейс, с которой к тому времени уже был прекрасно знаком и проводил некоторые совместные работы. Пожалуй, именно Ада наиболее глубоко понимала сущность и перспективы идей Бэббиджа, и потому последний предложил ей сделать свои комментарии к переводу. Вот эти-то комментарии, оставшиеся единственной печатной работой Ады, значительно превысившие как по объему, так и по значению сам оригинал, и вошли в историю как пример первого описания ЦВМ и инструкций по программированию к ней.
Естественно, здесь не место для подробного разбора этой уникальной работы. Но некоторые моменты заслуживают упоминания. Разбирая возможности аналитической машины в сравнении с разностной, Ада указывает, что нет никаких причин для ограничения операций только действиями над числами: «Она позволяет осуществить полное управление при выполнении действий над алгебраическими и цифровыми символами», и еще: «Она может выдавать результаты трех видов: символические… численные… и алгебраические в буквенных обозначениях». В примечании B рассматривается ЗУ и предлагается система для символического обозначения данных, содержащихся в памяти: кружок - число, квадратик - символ и т. д. (чем не прообраз современного ассемблера?). В примечании D дана программа машинного расчета системы уравнений с двумя неизвестными. Программа представлена в виде таблицы, и при этом часто используется вполне современная символика, включая термин «рабочая ячейка». В примечании E рассматривается краеугольное понятие программирования - цикл операций и даже цикл циклов! В число управляющих команд была включена даже команда условного перехода. В процессе знакомства с работой молодой леди приходится себе все время напоминать, что это было в эпоху графа Монте-Кристо и начала покорения Дикого Запада.
Бэббидж в 1838 году упоминал о возможности, как бы мы сейчас сказали, моделирования химических процессов на ВМ и о «шахматных способностях» вычислительных машин! Даже создание библиотек программ они тогда обсуждали…
То, что и Бэббидж, и Ада прекрасно понимали, что именно они создали, доказывает довольно подробный разбор теоретических возможностей машины (см. эпиграф). Это дало основания отцу современной информатики А. Тьюрингу ввести в своей знаменитой брошюре «А может ли машина мыслить?» (1956 г.) целый раздел под названием «Возражения леди Лавлейс».
Так почему же хотя бы разностная машина так и не была построена Бэббиджем, а ведь еще при его жизни появилось несколько действующих экземпляров других конструкторов? Причин много, и одна из них - технологическая. Тогда не умели обрабатывать металл с нужной степенью точности, с достаточной производительностью - а машина Бэббиджа содержала не одну тысячу только зубчатых колес. Вероятно, и в наше время, когда англичане любовно воспроизвели дифференциальную машину по сохранившимся чертежам, эта задачка была не из легких. А тогда, как уже упоминалось, ему самому пришлось изобретать новые технологии. Интересно, что процесс создания его машины привел к заметному прогрессу в области тогдашней металлообработки. В частности, при прямом участии Бэббиджа были изобретены поперечно-строгальный, токарно-револьверный станки, калибры, методы изготовления зубчатых колес и даже высказана идея стандартизации деталей при массовом производстве. На разработке узлов разностной машины оттачивал мастерство выдающийся механик XIX столетия Уинворт.
Другой причиной неудач послужил его упрямый характер. Бэббидж был совершенно по-английски «принципиально принципиален». С Королевским обществом он рассорился в самом начале, упрямо выдвигая передовые, но неприемлемые для того времени идеи политического характера. С его президентом, упомянутым Дэви, он разругался в 1826 году, когда тот фактически предал его при выдвижении кандидатур на пост секретаря общества. Если Бэббиджу что-то не нравилось, он не стеснялся заявлять об этом во всеуслышание, и более того - пытался бороться до победного, даже в пустяках: к примеру, он не переносил уличных музыкантов и хотел добиться законодательного запрета на их деятельность. Еще в молодости он отправил знаменитому поэту Теннисону письмо, в котором критиковал его за строки: «Каждую минуту умирает человек,/Но каждую минуту человек рождается». По мнению Бэббиджа, их следовало переписать так: «Каждое мгновение умирает человек,/Но 1,16 человека рождается...» (Несомненно, профессор Челленджер и подобные ему литературные персонажи во многом срисованы с Бэббиджа.) Просто удивительно, несмотря на весь его максимализм (как водится, он часто не замечал за собой того, чего требовал от других), у него все-таки было столько друзей. И его самолюбие и упрямство ни в коей мере не помешали ему приветствовать появление действующей разностной машины шведских изобретателей Шютцев, что случилось уже в 1854 г. Впрочем, массовое производство разностных машин так никогда и не было налажено - слишком велика сложность и дешевле, очевидно, все-таки считать вручную.
Бэббидж думал, что можно преодолеть все трудности, было бы желание. Он шел от идеи к ее воплощению, нимало не считаясь с практическими возможностями своего времени. Но какое счастье, что наш герой оказался таким упертым, иначе мы были бы лишены одной из самых замечательных страниц в истории науки и техники. Стоит вспомнить хотя бы о пресловутых 50 разрядах данных - такое число было востребовано на практике только в 50-х годах ХХ столетия. Последний экземпляр разностной машины, построенный в 1933 году (потом уже началась эра ЭВМ) в Англии, значительно уступал теоретической разработке Бэббиджа.
И все-таки Бэббидж не был фанатом одной идеи, пусть даже она стала главным делом его жизни. Просто удивительно, сколь разносторонним был круг его интересов - кроме механизации вычислений, он занимался безопасностью движения на железнодорожном транспорте; световой сигнализацией для военных нужд; теорией функционального анализа: экспериментальными исследованиями электромагнетизма; вопросами шифрования; оптикой; геологией; религиозно-философскими вопросами; теорией и практикой машиностроения и многим-многим другим.
Весьма известен политэкономический труд Бэббиджа «Экономика машин и производства», высоко оцененный как современниками, включая К. Маркса, так и потомками, например Кейнсом. В этой книге он, в частности, придумал метод сетевых графиков и предвосхитил современное исследование операций. Он был одним из основателей Лондонского статистического общества. В числе изобретений Бэббиджа - спидометр, офтальмоскоп, солнечный коронограф, устройство для наведения артиллерийских орудий, сейсмограф… Но главным была аналитическая машина, которой он продолжал заниматься все годы - он всего год не дожил до своего восьмидесятилетия и застал начало новой электронной эры, если ее считать с прокладки первых телекоммуникационных линий - телеграфный кабель между Европой и Америкой поражал воображение современников ничуть не меньше, чем сто лет спустя первые полеты в космос. Работу над аналитической машиной продолжил его сын Генри, но настоящее развитие идеи Бэббиджа получили сто лет спустя после появления той самой работы Ады Лавлейс.
Значение деятельности Бэббиджа и Лавлейс далеко не историческое. Их работы ни в коем случае не принадлежат к историческим курьезам, и когда создавались первые электронные вычислительные машины, их создатели уже знали, куда идти - за сто лет до того им была указана столбовая дорога, с которой никто так и не свернул. Конечно, были и продолжаются попытки создания компьютеров, основанных на других принципах (нейрокомпьютеры, квантовые компьютеры), но все, что мы видим в повседневной жизни - начиная от персоналки на рабочем месте операционистки в Сбербанке и заканчивая «мозгами» мобильного телефона - построено точно так же, как это задумали один упрямый математик и одна светская молодая леди более ста пятидесяти лет назад…