Free PDF: The Genius Workout — 50 brain teasers + the 25 highest IQs in history.
Блог

Первая компьютерная программа Ады Лавлейс: что она действительно написала в 1843 году

«Заметка G» Ады Лавлейс к её переводу работы Luigi Menabrea об Аналитической машине Бэббиджа (1843) содержит то, что считается первой компьютерной программой: алгоритм для вычисления чисел Бернулли с использованием (так и не построенной) Аналитической машины. Но значение Заметки выходит далеко за пределы одного алгоритма. Лавлейс поняла что-то о природе вычислений, что сам Бэббидж не сумел полностью выразить — и что сообщество информатиков не развило бы в полной мере ещё целое столетие.

The Analytical Engine

Charles Babbage спроектировал Аналитическую машину в 1830-х годах — механический компьютер с памятью («Хранилище»), обрабатывающим устройством («Мельница»), вводом данных через перфокарты и условным ветвлением. Её так никогда и не построили из-за затрат и технологических ограничений, но логически конструкция была завершена. Заметки Лавлейс — наиболее ясное объяснение того, как она работала бы.

Алгоритм чисел Бернулли

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

Видение, выходящее за пределы вычислений

Самое важное — Лавлейс поняла, что машина была не просто вычислительным аппаратом, но манипулятором символов: она могла оперировать любыми объектами, которые можно было представить символически, не только числами. «Машина может создавать сложные и учёные музыкальные произведения любой степени сложности и объёма», — писала она. Это озарение — что вычисление по природе своей не связано с арифметикой — предвосхитило теорию вычислимости Чёрча-Тьюринга на сто лет.

Дискуссия о её роли

Некоторые историки утверждали, что роль Лавлейс была в основном редакторской — что ключевые идеи исходили от Бэббиджа. Переписка между ними показывает активное сотрудничество, с правками и замечаниями Бэббиджа. Однако алгоритм чисел Бернулли в Заметке G и философские идеи о природе вычислений похоже, являются преимущественно вкладом Лавлейс.

Frequently Asked Questions

Что Ада Лавлейс на самом деле программировала?

Лавлейс написала алгоритм в Заметке G (1843) для вычисления чисел Бернулли с использованием Аналитической машины Бэббиджа — его считают первой компьютерной программой. Алгоритм включал циклы и условные операции. Она также сформулировала принцип, что компьютеры могут манипулировать любым символическим представлением, не только числами — на столетие опередив теорию вычислимости по Чёрчу и Тьюрингу.

Была ли Ада Лавлейс действительно первым программистом?

Это спорный вопрос. Заметка G (1843) Лавлейс содержит первый документированный алгоритм, предназначенный для выполнения машиной. Некоторые историки утверждают, что Бэббидж существенно помогал с алгоритмом и что роль Лавлейс преувеличена современными популярными трактовками. Однако философское видение вычислений, выходящее за пределы арифметики, похоже, принадлежит именно Лавлейс.

Что такое числа Бернулли?

Числа Бернулли — это последовательность рациональных чисел с глубокими связями в теории чисел, появляющихся в формулах для сумм степеней целых чисел, дзета-функции Римана и рядах Тейлора тригонометрических функций. Первые несколько: B0=1, B1=-1/2, B2=1/6, B4=-1/30. Алгоритм Лавлейс для их вычисления был первым алгоритмом, разработанным для механического выполнения.

Прочитайте полную статью на Geniuses.Club

Открыть других гениев

1,300+ articles · 1,300+ biographies · Русский

Показать все