Выбрать главу

Потрет Чарльза Бэббиджа кисти Сэмюэля Лоренса.

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

Наиболее значимым достижением общества стал перевод с французского книги Сильвестра Франсуа Лакруа Traite de calcul differentiel et integral («Трактат о дифференциальном и интегральном исчислении», 1816), а также введение Пикоком нотации Лейбница на некоторых экзаменах (1817). Трехтомный труд Лакруа, переведенный Бэббиджем, Гершелем и Пикоком, получил широкое распространение в Англии. В 1819 году общество стало называться Кембриджским философским обществом.

В год окончания университета (1814) Бэббидж женился на Джорджиане Витмор. У них было восемь детей. Когда его отец, жена и ребенок умерли в 1827 году, Бэббидж получил в наследство недвижимость и солидную сумму, однако чувствовал себя совершенно разбитым и подавленным. По совету врача он на год отправился в путешествие по Европе. По возвращении он занял должность профессора Кембриджского университета, ранее принадлежавшую Ньютону. Однако он счел жалование невысоким и появлялся в университете, только когда требовалось оценить кандидатов на премию Смита, которая вручалась лучшему студенту Кембриджа.

Чарльз Бэббидж вошел в историю как создатель механических вычислительных машин. Первой из них была разностная машина (Difference Engine), которую он создал для вычисления значений многочленов. Принцип ее действия был основан на использовании конечных разностей, что позволило избежать умножения и деления. Изготовление машины было начато в 1822 году при поддержке британского правительства, однако этот проект так и не был завершен. Работы над машиной остановились в 1834 году, когда было прекращено финансирование проекта.

Изображение разностной машины Чарльза Бэббиджа, опубликованное в журнале Harper's Magazine в декабре 1864 года.

Некоторые исследователи считают, что машина Бэббиджа не могла быть закончена из-за существовавших на тот момент технических ограничений. Однако швед Георг Шутц (1785–1873) и его сын Эдвард, прочитав статью о разностной машине Бэббиджа, создали свой вариант этой машины и представили его в 1843 году.

Позднее, в 1851 году, при поддержке Шведской академии наук они построили машину большего размера, способную выполнять вычисления с точностью до 15 знаков после запятой и печатать результаты расчетов.

В отличие от Чарльза Бэббиджа, который не смог завершить работу над своей машиной, Шутц создал полностью рабочий экземпляр. В 1991 году в лондонском Музее науки был воссоздан первый прототип машины Бэббиджа с использованием технологий того времени. Также был воссоздан второй прототип, который в настоящее время хранится в Музее компьютерной истории в городе Маунтин-Вью (штат Калифорния, США). Машина Бэббиджа позволяла выполнять расчеты с точностью до 31 знака, вычислять значения многочленов седьмой степени и имела размеры 2,4 X 2,1 X 0,9 м. Размеры машины Шутца составляли 54 X 86 X 65 см, однако она была способна вычислять значения многочленов всего лишь третьей степени с точностью до 15 знаков. В 2000 году в лондонском Музее науки также была построена печатная машина, спроектированная Бэббиджем для своей вычислительной машины.

Оставив работу над разностной машиной в 1834 году, Бэббидж занялся новым устройством, которое он назвал аналитической машиной (Analytical Engine). Аналитическая машина стала ближайшим предком современных компьютеров. С помощью разностной машины можно было вычислять лишь значения многочленов, в то время как аналитическая задумывалась как устройство широкого применения, способное вычислять значения произвольных функций. Источником энергии для новой машины Бэббиджа служил паровой двигатель, ввод информации выполнялся с помощью перфокарт, вывод — с помощью печатной машины и устройства для нанесения перфорации на перфокарты. В памяти машины могло храниться до тысячи 50-значных чисел. Она также содержала арифметическое устройство для выполнения четырех основных действий, которое Бэббидж назвал мельницей (the mill).

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