Чтение онлайн

на главную - закладки

Жанры

Инноваторы. Как несколько гениев, хакеров и гиков совершили цифровую революцию
Шрифт:

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

42

Луиджи Менабреа, с примечаниями к тексту переводчика — Ады, графини Лавлейс, Sketch of the Analytical Engine, Invented by Charles Babbage, октябрь 1842 г., http://www.fourmilab.ch/babbage/sketch.html.

Когда она работала над комментариями в своем загородном поместье в графстве Суррей летом 1843 года, они с Бэббиджем обменивались десятками писем, а осенью, после того как

она вернулась в свой лондонский дом, у них состоялось множество встреч. Вокруг вопроса о том, сколько в «Примечаниях» содержалось ее собственных мыслей, а сколько — Бэббиджа, периодически возникают академические споры с сексистским уклоном. В своих мемуарах Бэббидж отзывается о ней весьма лестно: «Мы обсуждали вместе, какие иллюстрации можно было бы использовать: я предложил несколько, но ее выбор был совершенно самостоятельным. Так же было и с алгебраическими проблемами, за исключением, конечно, задачи с числами Бернулли, которую я решил, чтобы леди Лавлейс не тратила зря время. Но она послала мне обратно мое решение для исправления, обнаружив грубую ошибку, которую я сделал в своем решении» [43] .

43

Babbage, Passages from the Life of a Philosopher, 136; John Fttegi and Jo Francis, Lovelace &Babbage and the Creation of the 1843 ‘Notes,’ Annals of the History of Computing, октябрь 2003 г.

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

44

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

Она написала, что это стало возможным благодаря тому, что в конструкцию машины были «внедрены принципы, которые Жаккард разработал, чтобы ткать парчовые ткани с самыми сложными узорами, а именно — управление рисунком с помощью перфокарт». Ада поняла значение этого даже лучше, чем Бэббидж [45] . Это означало, что машина может быть подобна компьютеру, который мы сейчас воспринимаем как данность, то есть может быть машиной, которая не просто выполняет конкретную арифметическую задачу, а является машиной общего назначения. Она объясняет: «Мы вышли за границы арифметики в тот момент, когда возникла идея применения карт. Аналитическая машина выбивается из ряда простых „расчетных машин“. Она занимает совершенно отдельную позицию. Сконструировав устройство, оперирующее общими символами, которые могут образовывать неограниченное количество комбинаций, мы установили связь между операциями с материальными объектами и абстрактными мыслительными процессами» [46] .

45

Письмо Чарльза Бэббиджа Аде 1843 г., в: Toole, Ada, the Enchantress of Numbers, 197.

46

Все цитаты из текстов Менабреа и «Примечаний» Лавлейс приводятся по Menabrea, Sketch of the Analytical Engine.

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

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

Чтобы объяснить эту идею, она точно определила понятие операции: «Желательно пояснить, что под словом „операция“ мы понимаем любой процесс, который изменяет взаимное отношение двух или более вещей, каким бы это отношение ни было». Операция такой машины, отметила она, может изменить отношение не только между числами, но и между любыми символами, которые логически связаны между собой. «Она может манипулировать другими объектами, а не только числами, если найти объекты, фундаментальные соотношения между которыми могут быть выражены с помощью операций, описываемых абстрактной наукой». Аналитическая машина теоретически может даже выполнять операции с музыкальными звуками: «Допустим, например, что фундаментальные соотношения высоты звуков

в науке о гармонии и музыкальной композиции возможно описать с помощью символов, тогда машина может составить искусное музыкальное произведение любой степени сложности». Это была Адина концепция «поэтической науки» в чистом виде — искусное и научно обоснованное музыкальное произведение, составленное машиной! Ее отец от такой идеи содрогнулся бы.

Эта концепция станет основной для цифровой эпохи: любой фрагмент контента, данных или информации: музыка, текст, изображения, числа, символы, звуки, видеоконтент — все это может быть записано в цифровом виде, и машина может этими символами манипулировать. Даже Бэббидж не смог понять это в полной мере — он ограничился операциями с математическими объектами. Но Ада поняла, что цифры, записанные с помощью шестеренок, могут обозначать и другие объекты, а не только математические величины. По существу она сделала концептуальный рывок, мысленно перейдя от машин, которые были просто калькуляторами, к тем, которые мы теперь называем компьютерами. Дорон Суэйд, занимающийся историей компьютеров и специализирующийся на изучении машин Бэббиджа, считает, что этот концептуальный скачок является одним из главных исторических наследий Ады. Он отметил: «Если мы поищем и внимательно исследуем историю этого концептуального скачка, то увидим, что именно Ада в своей публикации 1843 года совершила его» [47] .

47

Его фраза из фильма Ada Byron Lovelace: To Dream Tomorrow (2003).

Третий вклад Ады состоял в том, что в своем заключительном «Примечании G» она подробно, шаг за шагом объяснила, как работает то, что мы сейчас называем компьютерной программой или алгоритмом. Для примера она написала программу вычисления чисел Бернулли [48] — чрезвычайно сложно устроенного бесконечного ряда чисел, которые в том или ином виде играют важную роль в теории чисел.

Чтобы показать, как аналитическая машина могла генерировать числа Бернулли, Ада описала последовательность операций, а затем составила диаграмму, показывающую, как каждая из них может быть закодирована в машине. Попутно она помогла разработать концепцию подпрограмм (последовательности инструкций, которые выполняют определенную задачу, например вычисление косинуса или сложных процентов, и которые могут по мере необходимости вставляться в более крупные программы), а также рекурсивных вложенных циклов (последовательности повторяющихся инструкций) [49] . Это стало возможным сделать благодаря применению перфокарт. Для определения каждого числа Бернулли, как она объяснила, необходимо семьдесят пять карт, затем процесс становится итерационным, поскольку это число отправляется обратно и используется в процессе уже для получения следующего числа. Она пишет: «Очевидно, что те же самые семьдесят пять переменных карт могут быть использованы для вычисления каждого последующего числа». Она предвидела, что будет создана библиотека часто используемых подпрограмм, и действительно, спустя столетие ее интеллектуальные наследники, в том числе такие женщины, как Грейс Хоппер из Гарварда, а также Кей Макналти и Джин Дженнингс из Пенсильванского университета, создадут такую библиотеку. Кроме того, машина Бэббиджа позволяла переходить туда и обратно внутри последовательности команд на картах в зависимости от полученных промежуточных результатов, и таким образом появилось то, что в будущем станет операцией условного перехода — когда тот или иной тип инструкций выбирается в зависимости от условий.

48

Названы в честь швейцарского математика XVII века Якоба Бернулли, который изучал суммы одинаковых степеней натуральных чисел. Числа Бернулли играют важную роль в теории чисел, математическом анализе и дифференциальной топологии. — Прим. автора.

49

Пример Ады содержал табулирование многочленов с использованием в качестве подпрограммы разностных методов, для которых потребовалась структура вложенных циклов с изменяющимся диапазоном внутреннего цикла. — Прим. автора.

Бэббидж помогал Аде с расчетами чисел Бернулли, но из ее писем видно, что она сама глубоко погрузилась в сущность задачи. «Я упорно ищу и тщательно анализирую все возможные способы вычисления чисел Бернулли, — писала она в июле, всего за несколько недель до того, как ее перевод и примечания были посланы в печать. — Я в таком смятении из-за того, что возникло такое странное затруднение и разочарование с этими числами, что я сегодня не могу ничего делать… Я в оцепенении и растерянности» [50] .

50

Письмо Ады Чарльзу Бэббиджу 5 июля 1843 г.

Когда эта проблема была решена, Ада сделала еще одну вещь, и она была в первую очередь ее собственным достижением, — составила таблицу и диаграмму, показывающую, как именно алгоритм, включающий два рекурсивных цикла, пошагово будет передаваться в компьютер. Это был пронумерованный список команд кодирования, который содержал указание регистров назначения, операции и комментарии — все, что сегодня знакомо любому работающему с языком C++. «Я работала непрерывно и очень успешно в течение всего дня, — написала она Бэббиджу. — Вы будете чрезвычайно довольны таблицей и диаграммой. Они были сделаны с особой тщательностью». Из всех писем видно, что она сделала таблицу сама — помощь приходила только от ее мужа, не знавшего математики, но готового методично обводить чернилами текст, который она писала карандашом. «Лорд Л. сейчас любезно переписывает чернилами все это для меня, — писала она Бэббиджу. — Мне пришлось делать это карандашом» [51] .

51

Письмо Ады Чарльзу Бэббиджу 2 июля 1843 г.

Поделиться:
Популярные книги

Вечный. Книга V

Рокотов Алексей
5. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга V

Чехов. Книга 3

Гоблин (MeXXanik)
3. Адвокат Чехов
Фантастика:
альтернативная история
5.00
рейтинг книги
Чехов. Книга 3

Последний попаданец 9

Зубов Константин
9. Последний попаданец
Фантастика:
юмористическая фантастика
рпг
5.00
рейтинг книги
Последний попаданец 9

Серые сутки

Сай Ярослав
4. Медорфенов
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Серые сутки

Ты нас предал

Безрукова Елена
1. Измены. Кантемировы
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Ты нас предал

Кодекс Охотника. Книга XXIII

Винокуров Юрий
23. Кодекс Охотника
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXIII

На границе империй. Том 7. Часть 4

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
На границе империй. Том 7. Часть 4

Нефилим

Демиров Леонид
4. Мания крафта
Фантастика:
фэнтези
боевая фантастика
рпг
7.64
рейтинг книги
Нефилим

Провинциал. Книга 1

Лопарев Игорь Викторович
1. Провинциал
Фантастика:
космическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Провинциал. Книга 1

Восход. Солнцев. Книга IV

Скабер Артемий
4. Голос Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восход. Солнцев. Книга IV

Солдат Империи

Земляной Андрей Борисович
1. Страж
Фантастика:
попаданцы
альтернативная история
6.67
рейтинг книги
Солдат Империи

Дурашка в столичной академии

Свободина Виктория
Фантастика:
фэнтези
7.80
рейтинг книги
Дурашка в столичной академии

Сиротка

Первухин Андрей Евгеньевич
1. Сиротка
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Сиротка

Сумеречный стрелок 7

Карелин Сергей Витальевич
7. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный стрелок 7