«Машина — не мыслящее существо, это просто автомат, выполняющий заложенное в него»
Луиджи Менабреа, 1842
Вчера мне приснился занятный сон. Там я проходил собеседование и отвечал на стандартные вопросы в духе нормальных форм баз данных. Внезапно зашел сотрудник компании по какому-то вопросу к моему интервьюеру. Увидев, что происходит процесс взаимоспрашивания, тот решил включиться в процесс и задал простой вопрос: «А когда всё началось?». Тогда, во сне, я немного растерялся, вспомнил лишь, что была у лорда Байрона дочь по имени Ада, которую считают первым программистом на первой вычислительной машине. Знание было следствием исследования биографии Байрона, и закрепилось скорее как дополнительный факт из его жизни, поэтому ничего конкретнее я не мог вспомнить, поскольку не знал.
Вернувшись в более материальную реальность, меня этот вопрос не оставил, и я решил досконально узнать дату начала, как минимум год.
За начало я решил принять создание первой работающей вычислительной машины и запуск ее, что немаловажно, так как проектов разностных машин было много, нам же важен конкретный результат, а именно зафиксированный факт вычислений сделаных машиной.
Расследование возвращается к Аде Лавлейс.
Итак, перечитываем статью про Аду Лавлейс и видим, что первой машиной с которой она работала была «Разностная машина Чарльза Бэббиджа».
Таким образом первый компьютер назывался «Большая разностная машина Бэббиджа», но был ли он построен, работал ли он и если да, то когда. Поиски уходят в сторону Чарльза Бэббиджа и его машины. На первой картинке как раз изображена ее архивная схема.
Краткая биография Чарльза Бэббиджа
Чарльз Баббидж (Babbage) — английский математик, род. 26 дек. 1792 г. в Тейгмаут (Teigumouth) в Девоншире, образование получил в Кембриджском университете, который окончил в 1814 г. Из его научных работ заслуживают внимания чрезвычайно точные и удобные для пользования логарифмические таблицы («A table of the logaritbms of the natural numbers from 1 to 108060», 1827 г.). Ввиду трудности изготовления такого рода больших точных таблиц, Б. напал на мысль, развитую в его сочинении: «Letter to sir. H. Davy on the application of machinery to mathematical tables» (1822), составить для этого особую машину. Получив от правительства средства для постройки такой машины, Б., чтобы изучить технические подробности, осмотрел много механичсских мастерских в Англии и за границей, результатом чего явилось его сочинение: «Economy of manufactures and machinery» (1832 г.), перев. на немецк. Фридбергом, под заглав. «Ueber Maschinen and Fabrikwesen» (Берл., 1833). Задуманная Б. машина, имевшая целью вычисление и печатание математических и морских таблиц, должна была состоять из двух существенно различных частей: вычисляющей и печатающей. В 1828 г. было приступлено к постройке первой части машины, почти законченной к 1833 г., когда наступил перерыв в работе. Вторая, приспособленная для печатания таблиц часть машины не была еще доведена до половины, а расходы по постройке ее уже достигли 17000 ф. ст., и так как для совершенного окончания предприятия требовалось еще столько же, то работы были совершенно оставлены. В это время Б. вместе с Гершелем и Пикоком перевел на английский язык — «Traité du calcul différentiel et du calcul intégral» Лакруа и написал «Comparativ view of the different institutions for the assurance of life» (1826) и множество других важных в научном отношении статей для «Philosophical Transactions», «Journal of Science» Брейстера в др. периодических изданий. В 1828 Б. получил кафедру математики в Кембриджском университете, но в 1839 оставил ее. В своих «Reflections on the decline of science in England» (1830) он весьма пессимистически высказался о положении науки в Англии, к чему вторично вернулся в своем изданном по поводу выставки 1851 сочинении: «The Exposition of 1851, or views of the industry, science and government of England» (1851). Автобиографические о нем данные помещены в «Passages from the life of a philosopher» (1864). Б. умер в Лондоне 20 октября 1871 г.
Переходим на статью про машину. Видим
«В 1823 году была выплачена первая субсидия на постройку того, что теперь считается первым на земле компьютером и известно под названием „Большая разностная машина Бэббиджа“. Строительство продолжалось десять лет, конструкция машины всё более усложнялась, и в 1833 году финансирование было прекращено.»
В других источниках также встречается альтернативная дата завершения финансирования — 1834 год. И никакой информации о первом вычислении. Странно. Все оказалось не так просто, как хотелось бы.
Что же представляет из себя эта машина?
«Разностная машина Чарльза Бэббиджа — механический аппарат, изобретённый английским математиком Чарльзом Бэббиджем, предназначенный для автоматизации вычислений путём аппроксимации функций многочленами и вычисления конечных разностей. Возможность приближённого представления в многочленах логарифмов и тригонометрических функций позволяет рассматривать эту машину как довольно универсальный вычислительный прибор.»
Да, судя по картинкам в википедии и статьях — тот еще стимпанк.
«Разрабатывая машину, Бэббидж и не представлял всех трудностей, связанных с её реализацией, и не только не уложился в обещанные три года, но и спустя девять лет вынужден был приостановить свою работу. Однако часть машины все же начала функционировать и производила вычисления даже с большей точностью, чем ожидалось.»
Значит машина работала, хоть и частично. Из этого следует, что ее действительно можно считать первым компьютером.
В 1823 году правительство Великобритании предоставило Чарльзу Бэббиджу субсидию на постройку машины. Первая предположительная дата появления машины 1832 год, раз ее разработка заняла девять лет.
Дата подтверждается из статьи по сборке модели этой машины
«This model operates on principles very similar to Babbage's original designs, though the constraints of using only standard Meccano parts inevitably mean some aspects of the operation are somewhat different. The model can handle decimal numbers with up to four digits, and up to three orders of differences — similar in scope to the fragment of the original Difference Engine #1 which Babbage actually realized in 1832.»
Хотя в некоторых источниках фигурирует 1833 год.
«… однако к началу 1833 года удаётся закончить и испытать часть машины, которая может табулировать с точностью до пятого знака многочлены с постоянными вторыми разностями.»
Ога!
«В 1834 году выходит статья доктора Дионисия Ларднера „Вычислительная машина Бэббиджа“, в которой весьма подробно описывается принцип и устройство машины.»
Вот где должны быть точные даты. Осталось найти статью.
«… на эту работу их вдохновила статья доктора Дионисия Ларднера в “Эдинбургском обозрении” в 1834 г. “Вычислительная машина Бэббиджа”.»
Значит надо найти скан этого выпуска, или хотя бы его транскрипцию.
«„Эдинбургское обозрение“ (англ. Edinburgh Review) — один из самых влиятельных британских журналов XIX века. Исходное издания выходило с 1802 по 1929 годы, затем с 1984 года название стал использовать журнал „Новое эдинбургское обозрение“ (англ. New Edinburgh Review), выходивший с 1969 года. В настоящее время журнал входит в журнальную сеть Eurozine.»
Первый найденный в архивах скан: The Edinburgh Review, or Critical Journal: for July,1834,.......January, 1835, vol. LX (в привычных цифрах это 60). Дата выпуска 1835 год, скорее всего не то, что нам нужно, но зато мы знаем примерный номер выпуска — 59 или 58, маловероятно 57 — соответсвенно LIX, LVIII или LVII.
Архивный скан журнала в котором предположительно есть полная версия статьи
Ищем заветную статью…
По ходу дела выясняется, что этот выпуск состоит из двух других подвыпусков с другой нумерацией. Первый — CXXI (121), с датой выхода — October, 1834. Второй — CXXII (122), с датой выхода January, 1835.
Для того чтобы найти статью Ларднера надо узнать латинское написание его имени. Находим. На английском имя Дионисия Ларднера пишется как Dionysius Lardner. Забавно, что про него нет статьи на русскоязычной вики, только на англоязычной. В дальнейшем оригинальное имя пригодится для поиска его статьи в архивах.
Попутно находим первый скан статьи в очень плохом качестве и только одной страницы.
Скан одной из страниц статьи Дионисия Ларднера о вычислительной машине Бэббиджа
С трудом можно разглядеть, что в статье есть только две даты: 1836 и 1835. По полученным данным они нам не подходят, но все может быть. Что важнее, мы можем увидеть номер страницы, название статьи, и месяц в правом верхнем углу! Очевидно это месяц выпуска номера — July — значит октябрьский нам не подходит.
Итак:
- Номер страницы — 282
- Точное название статьи — Babbage's Calculating Engine
- Месяц — July
Действительно, если смотреть полный разворот найденного ранее выпуска, то видно, что слева пишут год выпуска, а справа месяц.
Разворот журнала «The Edinburgh Review»
Осталось найти выпуск The Edinburgh Review за июль 1834-го года. Также нам помогут числа LIX и CXX.
Пока найти нужный выпуск не получается, обратимся к другим источникам.
В одной более авторитетной (по крайней мере по виду) работе выскакивает факт, очередной раз подтверждающий дату первой сборки и запуска машины как 1832 год.
И еще одно подтверждение, попутно узнаем о существовании тулмейкера по имени Joseph Clement, которого Бэббидж нанял для того чтобы, собственно, сделать свою первую машину (ту самую, первую). Таким образом появляется еще один важный человек во всей этой истории, который собственно и собрал первый компьютер по проектам Бэббиджа.
«Joseph Clement (1779-1844) was amongst the finest toolmakers of his generation, both gifted and inventive, winning acclaim and awards for innovations in machine tools. Clement was a toolmaker as well as a first-rate draftsman — a rare combination — and was hired by some of the great pioneering engineers of the day, including Joseph Bramah and Henry Maudsley. Babbage hired Clement sometime in the mid-1820s to make Difference Engine No.1. Babbage designed and sketched the mechanisms and Clement made them, often devising specialized tools. The collaboration was close and it is impossible to say how much of the detailed implementation is Clement's and how much Babbage's. Clement made the 'beautiful fragment' — the demonstration piece for Difference Engine No. 1 delivered to Babbage in 1832 — one of the finest examples of precision manufacture of the time. In a real sense Clement was the first computer engineer.»
В конце концов мне удалось найти заветный номер The Edinburgh Review. Внизу будет ссылка на архив с pdf-ами, там открыть «The_Edinburgh_Review_Or_Critical_Journal Vol. LIX.pdf». Статья начинается на 263 странице и заканчивается на 327. К сожалению в статье нет информации о дате первого запуска машины, говорится лишь о том, что с 1829 по начало 1833 года процесс разработки был медленным и прерывистым, пока совсем не прекратился. Тем не менее документ важный и интересный и играет большую роль не только в жизни Бэббиджа, но и в истории всей нашей IT-индустрии.
На этом расследование завершаю, всецело и полностью убедившись, что все началось в 1832-ом году. Помимо даты теперь еще смогу и целую историю рассказать, но это уже в другом сне. Конечно, хотелось бы узнать точную дату демонстрации зацепившись за этот факт: «A small demonstration assembly was built and delivered to Babbage by Clement in 1832.», а в идеале узнать не только точную дату, но и в каком настроении были Джозеф и Чарльз, и какие конкретно вычисления были произведены.
P.S. Внезапно всплыло имя Johann Helfrich Müller с его первыми разработками разностных машин, которыми, возможно, пользовался Бэббидж. Может на самом деле он является создателем первой машины, а никакой не Бэббидж? Возможно углублюсь в этот вопрос как-нибудь в другой раз.
Источники
Архив с pdf-ами и картинками — yadi.sk/d/dNQu6p3wb8if4
https://ru.wikipedia.org/wiki/Лавлейс,_Ада
ru.wikipedia.org/wiki/Разностная_машина_Чарльза_Бэббиджа
www.meccano.us/difference_engines/rde_1
history-computer.com/MechanicalCalculators/18thCentury/Muller.html
habrahabr.ru/post/80800
habrahabr.ru/post/80334
https://ru.wikisource.org/wiki/ЭСБЕ/Баббидж,_Чарльз
www.many-books.org/auth/506/book/56631/gibson_uilyam/mashina_razlichiy/read/86
www.computerhistory.org/babbage/dionysiuslardner
www.computerhistory.org/babbage/josephclement
www.sophiararebooks.com/pages/books/2605/charles-babbage/babbages-calculating-engines-being-a-collection-of-papers-relating-to-them-their-history-and