из названия (которое означает “восстановление, восполнение”, то есть сокращение одинаковых членов в обеих частях уравнения) произошло слово “алгебра”. В труде аль-Хорезми описывались методы решения квадратных уравнений и вычисления площади и объема, указывались приближенные значения числа π.

В середине XII века в Испании пересекались мусульманская, иудейская и христианская культуры – иногда мирно, иногда не очень, и между цивилизациями шел обмен идеями. Живший тогда в испанском городе Сеговия английский востоковед Роберт Честерский в 1145 году перевел “Книгу о восполнении и противопоставлении” на латынь. “Аль-джебр” превратилось в algeber, а “аль-Хорезми” – в Algoritmi. В то время слово algorismus относилось ко всем математическим операциям с использованием индийско-арабских цифр, а тех, кто занимался подобным искусством, называли алгористами. (Этим термином именуют себя визуальные художники, с 1960-х годов использующие алгоритмические процессы, однако он кажется подходящим для всех, кто работает над современной версией алгоритмов.) Такой длинный путь этимологии алгоритма показывает, что вычисления являются не только продуктом воспроизводимых научных законов, но и результатом человеческого искусства и труда.

Изобретение компьютерного программирования

Работа компьютеров основана на многократно выполняемых операциях. Затем с результатами, закодированными нулями и единицами, производятся новые операции, результат которых выдается пользователю. В 1822 году британский изобретатель Чарльз Бэббидж изложил свою концепцию “применения машин для вычисления астрономических и математических таблиц” – метод автоматизации вычисления с помощью системы пронумерованных шестерней и валиков, названной разностной машиной. Это устройство так и не было построено целиком, однако его более поздние реализации выглядят как внутренности фортепиано, только вместо молоточков тянутся длинные ряды колес. Спроектированная Бэббиджем машина должна была иметь высоту восемь футов и весить четыре тонны. Затем изобретателю в голову пришла идея аналитической машины, которая могла (если бы ее удалось построить) получать команды, заданные с помощью перфокарт, и выполнять простые операции программирования (циклы и условные операторы). Она стала основой для гораздо более сложных современных вычислительных машин. Сын Бэббиджа Генри в 1888 году писал: “Это всего лишь вопрос карт и времени”.

Дочь лорда Байрона Ада Лавлейс сегодня считается первым программистом: она написала алгоритмы для машины в том виде, в каком ее спроектировал Бэббидж, включая процесс вычисления чисел Бернулли. Лавлейс также поняла, что повторяющиеся механические процессы, на которые способна машина, можно применять не только в математике. В 1843 году Лавлейс писала, что аналитическая машина “могла бы работать с другими вещами, кроме чисел, если найти объекты, взаимоотношения которых можно выразить с помощью абстрактной науки об операциях и которые также можно приспособить к рабочей нотации и механизму машины”. Иными словами, формально можно манипулировать всем, что удастся превратить в нечто похожее на данные – какой-то ряд чисел. Это может быть текст, музыка, искусство или даже игра – например, шахматы. Лавлейс представила себе одну из форм такой автоматизации: “Если предположить, например, что фундаментальные отношения звуков в науке гармонии и музыкальной композиции поддаются такому выражению и адаптации, то машина могла бы сочинять замысловатые научные музыкальные произведения любой степени сложности и объема”. Она предвосхитила нечто, подобное “генеративной музыке”; композитор Брайан Ино предложил этот термин в 1995 году для описания постоянно меняющихся синтезаторных композиций: программное обеспечение создает разные мелодии при каждом запуске программы. Лавлейс представляла, как новая технология может формировать и увековечивать культуру – как это происходит сегодня при алгоритмическом наполнении лент.