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

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

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

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

Главным образом из-за этой диаграммы, на которой был представлен сложный процесс генерации чисел Бернулли, Ада получила от своих почитателей звание «первого в мире компьютерного программиста». С этим определением довольно трудно согласиться. Бэббидж уже разработал, по крайней мере в теории, более двадцати обоснований процессов, которые машина могла со временем выполнить. Но ни одно из них не было опубликовано, и не существовало ясного описания способа установления последовательности операций. Таким образом, было бы справедливо сказать, что алгоритм и детальное описание программы для генерации чисел Бернулли были первой опубликованной компьютерной программой. И эта публикация была подписана инициалами автора — Ады Лавлейс.

В ее «Примечаниях» содержалась еще одна важная концепция, которая возвращает нас к истории Франкенштейна, сочиненной Мэри Шелли во время выходных, проведенных с лордом Байроном. В ее истории был затронут самый волнующий метафизический вопрос, касающийся компьютеров, актуальный до сих пор, а именно — вопрос об искусственном интеллекте, точнее о том, может ли машина мыслить.

Ада в это не верила. Машины, например машины Бэббиджа, могут выполнять операции в соответствии с инструкциями, считала она, но они не могут самостоятельно выдвигать идеи или иметь намерения. «Аналитическая машина не претендует на создание чего-то своего, — писала она в своих „Примечаниях“, — она может выполнить любую команду, которую мы сумеем задать. Она может провести анализ, но от нее никак нельзя ожидать вывода каких-либо аналитических соотношений или установления законов». Столетие спустя один из создателей первых компьютеров — Алан Тьюринг — назвал это утверждение «Возражением леди Лавлейс» (см. главу 3).

Перейти на страницу:

Похожие книги

Адмирал Советского Союза
Адмирал Советского Союза

Николай Герасимович Кузнецов – адмирал Флота Советского Союза, один из тех, кому мы обязаны победой в Великой Отечественной войне. В 1939 г., по личному указанию Сталина, 34-летний Кузнецов был назначен народным комиссаром ВМФ СССР. Во время войны он входил в Ставку Верховного Главнокомандования, оперативно и энергично руководил флотом. За свои выдающиеся заслуги Н.Г. Кузнецов получил высшее воинское звание на флоте и стал Героем Советского Союза.В своей книге Н.Г. Кузнецов рассказывает о своем боевом пути начиная от Гражданской войны в Испании до окончательного разгрома гитлеровской Германии и поражения милитаристской Японии. Оборона Ханко, Либавы, Таллина, Одессы, Севастополя, Москвы, Ленинграда, Сталинграда, крупнейшие операции флотов на Севере, Балтике и Черном море – все это есть в книге легендарного советского адмирала. Кроме того, он вспоминает о своих встречах с высшими государственными, партийными и военными руководителями СССР, рассказывает о методах и стиле работы И.В. Сталина, Г.К. Жукова и многих других известных деятелей своего времени.Воспоминания впервые выходят в полном виде, ранее они никогда не издавались под одной обложкой.

Николай Герасимович Кузнецов

Биографии и Мемуары
100 великих гениев
100 великих гениев

Существует много определений гениальности. Например, Ньютон полагал, что гениальность – это терпение мысли, сосредоточенной в известном направлении. Гёте считал, что отличительная черта гениальности – умение духа распознать, что ему на пользу. Кант говорил, что гениальность – это талант изобретения того, чему нельзя научиться. То есть гению дано открыть нечто неведомое. Автор книги Р.К. Баландин попытался дать свое определение гениальности и составить свой рассказ о наиболее прославленных гениях человечества.Принцип классификации в книге простой – персоналии располагаются по роду занятий (особо выделены универсальные гении). Автор рассматривает достижения великих созидателей, прежде всего, в сфере религии, философии, искусства, литературы и науки, то есть в тех областях духа, где наиболее полно проявились их творческие способности. Раздел «Неведомый гений» призван показать, как много замечательных творцов остаются безымянными и как мало нам известно о них.

Рудольф Константинович Баландин

Биографии и Мемуары
100 великих интриг
100 великих интриг

Нередко политические интриги становятся главными двигателями истории. Заговоры, покушения, провокации, аресты, казни, бунты и военные перевороты – все эти события могут составлять только часть одной, хитро спланированной, интриги, начинавшейся с короткой записки, вовремя произнесенной фразы или многозначительного молчания во время важной беседы царствующих особ и закончившейся грандиозным сломом целой эпохи.Суд над Сократом, заговор Катилины, Цезарь и Клеопатра, интриги Мессалины, мрачная слава Старца Горы, заговор Пацци, Варфоломеевская ночь, убийство Валленштейна, таинственная смерть Людвига Баварского, загадки Нюрнбергского процесса… Об этом и многом другом рассказывает очередная книга серии.

Виктор Николаевич Еремин

Биографии и Мемуары / История / Энциклопедии / Образование и наука / Словари и Энциклопедии