Добавить в цитаты Настройки чтения

Страница 7 из 30

Новой идеей Бэббиджа, возникшей у него в 1834 году, был проект счетной машины общего назначения, которая могла бы выполнять множество различных операций по инструкциям, задаваемых ей программным образом. Она могла бы выполнять одну задачу, а затем переключаться на другую. Бэббидж объяснил, что она могла даже сама задать себе команду поменять задачу или изменить свой “алгоритм действий”, исходя из ее собственных промежуточных расчетов. Бэббидж назвал эту свою концепцию “аналитической машиной”. Он опередил свое время на сто лет.

Вверху: Копия аналитической машины

Слева: Копия разностной машины

Вытканный на станке Жаккарда портрет Жозефа-Мари Жаккарда

Ткацкий станок Жаккарда

Аналитическая машина была порождена тем, что Ада Лавлейс в своем эссе о воображении назвала “объединяющим даром”. Бэббидж собрал все инновации, которые к тому времени появились в других областях, — прием, используемый многими великими изобретателями. Первоначально он использовал металлический барабан, который был усеян шипами для контроля за поворотом валика. Но потом он, как и Ада, внимательно изучил конструкцию автоматического ткацкого станка, изобретенного в 1801 году французом по имени Жозеф-Мари Жаккард, совершившим переворот в шелкоткацкой промышленности. На этих станках рисунок на ткани создавался за счет использования крючков, которые поднимали определенные нити основы, а затем стержень заталкивал уточную нить под основную. Для управления этим процессом Жаккард изобрел метод использования карт с пробитыми в них отверстиями. Положение отверстий определяло, какие крючки и стержни должны менять местами нити основы и утка при каждом шаге плетения, таким образом автоматически создавались замысловатые узоры. Для каждого прохождения челнока, протягивающего нить, использовалась новая перфокарта.

30 июня 1836 года Бэббидж сделал запись в блокноте, названном им “Небрежные заметки”, которая знаменует собой важную веху в истории компьютеров: “Предложил ткацкий станок Жаккарда в качестве замены барабанов”30. Использование перфокарт вместо стальных барабанов означало, что в машину может быть введено неограниченное количество инструкций. Кроме того, при таком подходе последовательность задач можно было менять, в результате чего стало легче сконструировать машину общего назначения, которая была бы и универсальной, и перепрограммируемой.

Бэббидж купил тканый портрет Жаккарда и начал демонстрировать его на своих салонах. На портрете был изображен изобретатель, сидящий в кресле на фоне своего ткацкого станка, держащий кронциркуль, приложенный к прямоугольным перфокартам. Бэббидж озадачивал своих гостей, предлагая им догадаться, из чего он сделан. Большинство гостей думало, что это великолепно выполненная гравюра. Тогда он показывал, что в действительности это был тончайший шелковый гобелен с двадцатью четырьмя тысячами рядов нитей, каждый из которых управлялся своей перфокартой. Когда супруг королевы Виктории принц Альберт пришел на один из приемов Бэббиджа и спросил хозяина, чем гобелен интересен, Бэббидж ответил: “Он очень помогает мне объяснить принцип моего вычислительного устройства — аналитической машины”31.

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

Но одного сторонника он нашел. Ада Лавлейс оценила идею универсальной машины в полной мере. Что еще более важно, она смогла представить в своем воображении такое ее свойство, которое могло бы сделать машину истинным чудом: по идее, она могла бы оперировать не только цифрами, но и любыми символами, включая, например, музыкальные ноты и цвета на картине. Ада разглядела поэзию в этой идее и задалась целью убедить в этом других.

Она забросала Бэббиджа письмами, причем некоторые из них были довольно нахальными, ведь он был на двадцать четыре года старше ее. В одном она описала игру для одного участника, в которой используется двадцать шесть шариков, а цель — заставить их так прыгать, чтобы остался только один шарик. Она не только освоила игру, но попыталась вывести “математическую формулу… которая описывает решение и которую можно переложить на язык символов”. И дальше она спросила: “Не слишком ли у меня, на ваш взгляд, разыгралось воображение? Мне кажется, что нет”32.





Она решила начать сотрудничать с Бэббиджем как партнер, помочь ему рекламировать аналитическую машину и попытаться получить поддержку для ее строительства. “Я очень хотела бы поговорить с вами, — писала она в начале 1841 года, — и намекну вам, о чем. Мне кажется, что в какой-то момент в будущем моя голова может быть полезной для некоторых ваших целей и планов. Если это так, если я когда-нибудь смогу быть достойной или полезной вам, моя голова к вашим услугам”33.

Год спустя для этого представилась уникальная возможность.

Примечания леди Лавлейс

Пытаясь найти финансирование для своей аналитической машины, Бэббидж принял приглашение выступить на съезде итальянских ученых в Турине. Молодой военный инженер, капитан Луиджи Менабреа, который позже стал премьер-министром Италии, законспектировал его доклад. С помощью Бэббиджа Менабреа в октябре 1842 года опубликовал подробное описание машины по-французски.

Один из друзей Ады предложил ей перевести текст Менабреа для Scientific Memoirs — периодического издания научных статей. Это дало бы ей возможность помочь Бэббиджу и продемонстрировать свои таланты. Когда она закончила, она сообщила об этом Бэббиджу, тот и обрадовался, и несколько удивился: “Я спросил ее, почему она сама не написала собственную статью на тему, в которой так хорошо разбиралась”34. Она ответила, что эта мысль не пришла ей в голову. В то время женщины обычно не публиковали научные статьи.

Бэббидж предложил ей сделать некоторые примечания к переводу Менабреа, и она с энтузиазмом взялась за работу. Она начала работать и писать раздел, который она назвала “Примечания переводчика”, что в конечном итоге вылилось в написание текста, содержащего 19 136 слов — больше чем вдвое превышающего оригинальную статью Менабреа. Подписала она свои комментарии инициалами AAL — Августа Ада Лавлейс, ее “Примечания” стали более знаменитыми, чем сама статья, и им суждено было сделать ее знаковой фигурой в истории программирования35.

Когда она работала над комментариями в своем загородном поместье в графстве Суррей летом 1843 года, они с Бэббиджем обменивались десятками писем, а осенью, после того как она вернулась в свой лондонский дом, у них состоялось множество встреч. Вокруг вопроса о том, сколько в “Примечаниях” содержалось ее собственных мыслей, а сколько — Бэббиджа, периодически возникают академические споры с сексистским уклоном. В своих мемуарах Бэббидж отзывается о ней весьма лестно: “Мы обсуждали вместе, какие иллюстрации можно было бы использовать: я предложил несколько, но ее выбор был совершенно самостоятельным. Так же было и с алгебраическими проблемами, за исключением, конечно, задачи с числами Бернулли, которую я решил, чтобы леди Лавлейс не тратила зря время. Но она послала мне обратно мое решение для исправления, обнаружив грубую ошибку, которую я сделал в своем решении”36.

В “Примечаниях” Ада предложила четыре концепции, которые будут активно обсуждаться век спустя, когда наконец появится компьютер. Во-первых, это концепция машины общего назначения, которая могла бы решать не только заданную задачу, но может быть запрограммирована и перепрограммирована на выполнение бесконечного числа и неограниченного круга задач. Другими словами, она нарисовала в своем воображении современный компьютер. Эта концепция описана в ее “Примечании А”, где она подчеркивает разницу между первоначальной разностной машиной Бэббиджа и предложенной им новой аналитической машиной. “Разностная машина была построена для табулирования интеграла от конкретной функции Δ7uх = о[6], — начинает она, пояснив, что все это делалось для составления навигационных таблиц, — Аналитическая же машина, напротив, предназначается не только для расчета одной конкретной функции и никакой другой, но для табулирования любой функции”.

6

Δ7uх = о — седьмая разность. В разностной машине предполагалось табулировать многочлены шестой степени, у которых все шестые разности одинаковы, а седьмые, соответственно, нулевые.