Добившись своего, леди Байрон начинает обучать любимую дочь математике, держа ее в неведении о личности отца.
В это время Чарльз Бэббидж тоже занят объектом своей страсти – строительством машины. Он прекрасный математик, однако его итоговая оценка в аттестате невысока, поэтому у него нет никаких шансов получить профессуру. На свое счастье Бэббидж находит себе удачную партию, поэтому может дальше работать над созданием счетной машины, не будучи стесненным в средствах. Это настоящий сизифов труд: надо понимать, что в те годы не существует почти ничего из того, к чему привыкли современные конструкторы – нет даже винтов стандартизированного размера. Бэббидж вынужденно вступает в препирательства с мастерами и механиками, которые тянутся долгие годы. Наконец, в 1822 году первый прототип его машины готов. Представители правительства, которым он демонстрирует свой механизм, настолько впечатлены, что сразу выделяют ему большую сумму денег.
Пока Бэббидж работает над новой, увеличенной версией счетной машины, маленькая Ада растет болезненным ребенком. Она долго учится ходить, говорит только шепотом, страдает анорексией и астмой, а подростком часто падает в обморок. Ее мать постоянно консультируется у самых разных специалистов, однако в первую очередь ее заботит интеллект девочки, ведь она всё еще мечтает сделать из дочери «математическое дитя», своего рода живую счетную машину. Леди Байрон – адепт френологии. Эта псевдонаука связывает особенности характера со строением черепа человека. Маленькая Ада подвергается подробному изучению и, естественно, объявляется гениальной.
Проект Бэббиджа тоже не избегает детских болезней. Изначально рассчитанное на три года строительство затягивается. Проект переживает несколько правительств, и затраты начинают вызывать у властей вопросы. Наконец, после многочисленных экспертиз и через 19 лет после его начала, финансирование прекращают. Но это не останавливает Бэббиджа, ведь в его голове уже родился новый, куда более захватывающий и сложный проект – создать большую аналитическую машину. Если говорить словами молодой Ады, которая в возрасте 17 лет видит малую машину Бэббиджа в гостях и тут же становится его преданной последовательницей: «Аналитическая машина ткет алгебраические узоры, как жаккардов станок ткет цветы и листья». Нетрудно заметить, что в основе устройства лежит принцип разделения «тела» машины и управляющего им «мозга», использованный Жаккаром. Дело в том, что аналитическая машина получает указания с помощью перфокарт: записанные на них программы считываются так называемой «мельницей» (то есть арифметическим устройством). Результат также выводится на перфокарты или представляется в виде графика, а об ошибках или о завершении вычислений извещает удар гонга.
С современным компьютером аналитическую машину Бэббиджа роднит то, что она не была сконструирована для бесконечного повторения одной и той же последовательности действий, а в зависимости от ситуации могла выполнять самые разные программы. Раньше решение могло быть только одним, теперь же поведение машины определялось обстоятельствами. На смену абсолютизму зубчатых колес пришел теоретический релятивизм компьютера. Об этом в своих работах говорит и сам Бэббидж: в одном из прекрасно выстроенных рассуждений он обучает средневекового Великого часовщика азам программирования. Бэббидж говорит о том, что если бы его новый божественный ученик производил простую операцию суммирования, то ему можно было бы дать указание для величин более 1000 сложение осуществлять тройками или, точнее, третями. Чтобы подобное было возможно, необходим язык программирования, на котором можно сообщить машине (то есть Господу Богу), что в определенный момент нужно загрузить другую программу. В этой способности менять программы Бэббидж видел еще одну силу Всемогущего: God is a DJ [4] Бог – это диджей (англ.).
.
Однако выдумать себе доказательство существования бога – это одно, а вот реализовать смену программы на практике – совсем другое. Чтобы все сработало, каждой программе, записанной на перфокарте, нужно присвоить уникальный идентификатор. Если в какой-то программе прописано условие смены программы, и это условие соблюдено (в нашем примере – все предыдущие операции сложения дали в сумме 1000), то загружается новая программа, которая заменяет собой исходную. Для этого в аналитической машине был устроен барабан, в котором хранились все перфокарты, а также еще одно хранилище для вспомогательных переменных, промежуточных результатов вычислений и прочих важных данных. Машина Бэббиджа в этом очень близка к современному компьютеру – даже не верится, что весь этот сложный механизм был придуман одним-единственным человеком.
Читать дальше