Найти в Дзене

История IT Ада Лавлейс и Чарльз Беббидж

Бинарный салют, друзья! На связи Инженер Спок.

Лайкосы / Подписки / Курсы

Мы продолжаем серию исторических статей и сегодня мы поговорим об удивительной истории программирования, а именно о появлении первой компьютерной программы и первого компьютера. Поехали!

Добавьте описание
Добавьте описание

Посмотрите на эту даму и попытайтесь угадать, кто она. Как думаете?

Наверное, какая-то средневековая графиня? Или ждущая своего военного мужа домохозяйка? А может быть, придворная дама? Небольшая подсказка. Гляньте на этого представительного джентльмена .

Добавьте описание
Добавьте описание

Гугл выдает эту картинку одной из первых по запросу «типичный программист».

Так вот, Ада Лавлейс, - а именно так зовут нашу сегодняшнюю героиню, - и данный господин имеют много общего. Они – программисты. Только господин – это типичный программист, а дама – первый. Именно женщина была первым программистом в мире. Ну, по крайней мере, так принято считать, и на это есть довольно веские причины.

Эх, как красиво и элегантно все начиналось! Сейчас же, по статистике, женщин-программистов всего 6% согласно данным StackOverflow за 2015 год. Ну, а за последние 6 лет мало что изменилось. (stats.png).

Но давайте вернёмся к теме статьи и начнем немного издалека. Если вы не знаете, кто этот парень, то возможно прогуливали в школе уроки зарубежной литературы. Он писал стихи, а его имя Джордж Гордон Байрон. Известный поэт и, барабанная дробь, отец Ады Лавлейс, которая родилась в 1815 году. Там достаточно интересная семейная история, но к теме выпуска напрямую не относится, поэтому особо заостряться на ней не будем. Важно лишь упомянуть, что видел батяня свою дочку только раз в жизни, когда ей был месяц от роду, а вскоре подал документы на развод. Ада считается единственной законной дочерью поэта Байрона.

Гены преуспевшего в литературе отца не спешили себя проявлять, а отсутствие кубиков Лего и других современных развивающих игрушек не способствовало раннему развитию юной леди. Однако, в 11 лет она поехала с мамой в круиз по Европе, где начала заниматься такой наукой как флиология от слова флай – летать, которую, кстати, сама и изобрела.

Добавьте описание
Добавьте описание

Ум юного дарования занимала идея конструирования летающей птицы. Для этого требовались серьёзные математические познания. Постигать матан ей помогал известный в то время математик Агустус де Морган.

Добавьте описание
Добавьте описание

Молодое дарование тщательно изучало строение тела птиц, чтобы взять его за основу для моделирования летательного аппарата на паровой тяге.

Короче говоря, погрузилась Ада с головой – да не в кулинарию, не в поэзию и не в игру на фортепиано или какое-либо иное более женственное занятие, а в математику. А чего же так? Ведь явно не самое привычное занятие для девочки-подростка!

Дело в том, что у матушки Ады не сложилось с папашей Байроном, поэтому чтобы выбить из головы дочери воспоминания о батяне, она всячески отстраняла ее от поэзии и литературы. А как же это лучше сделать? Конечно же, погрузить дочурку с головой во что-то совсем негуманитарное, например, в математику.

В возрасте 17 лет Ада познакомилась с Чарльзом Бэббиджем,

Добавьте описание
Добавьте описание

известным на то время экспериментатором и изобретателем. Весьма странный дуэт, не так ли? 17-летняя Ада Лавлейс и 41-летний Чарльз Бэббидж!

Добавьте описание
Добавьте описание

Сначала Бэббидж не воспринял Лавлейс всерьез, но вскоре свое мнение ему пришлось изменить. Например, в переписке Ада проявила интерес к дискретной математике и задалась вопросом, может ли игра в пасьянс «допускать, чтобы ее можно было расписать в виде математической формулы и решить», обеспечив тем самым победу.

Чарльз Бэббидж – дядькой был довольно умным. Чтобы вы в этом убедились – можете сами посмотреть на его мозг с кучей извилин.

Добавьте описание
Добавьте описание

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

Он изобрел несколько увесистых и громоздких устройств, которые предназначались для решения сложных математических задач. Вот чудо техники под названием разностная машина.

Добавьте описание
Добавьте описание

Как вы думаете, для чего она предназначалась? Предназначалась она, цитирую: «для автоматизации вычислений путём аппроксимации функций многочленами и вычисления конечных разностей.» Если короче, то эта машина должна была уметь вычислять значения многочленов до шестой степени с точностью до 18-го знака. Бэббидж потратил 9 лет и как минимум 17 тысяч фунтов стерлингов на построение машины, однако полностью её так и не построил. Работала лишь часть машины.

Однако, важно то, что Бэббидж всё-таки создал первую аналитическую вычислительную машину,

Добавьте описание
Добавьте описание

которая выглядела как плуг, на который сверху прицепили масляный радиатор, да поршней сверху натыкали. Эти самые железные элементы – не что иное как перфокарты, регистры памяти, устройство ввода-вывода и прочее. Она выполняла функцию калькулятора – могла плюсовать, минусовать, умножать и делить.

Вообще, Бэббидж написал много трудов по теории функций, механизации счета в экономике, и даже получил звание членкора Императорской академии наук в Санкт-Петербурге.

Итак, в 1833 году Бэббидж разработал проект электронно-вычислительной машины. Помните, лет эдак двадцать назад, так называли компьютеры. Некоторые из тех, кому сейчас лет около сорока, имели в своем военном билете гордую военно-учетную специальность – «оператор ЭВМ».

Добавьте описание
Добавьте описание

Позже, кстати, начали дописывать марку ЭВМ, например, «Пентиум – 4». Я давно в военкомате не был и не в курсе, можно ли сейчас пристроиться «оператором устройства смартфонного типа на базе операционной системы Андроид».

Так вот, над своей машиной Бэббидж трудился многие годы. Она занимала невероятный объем, работала на парУ, состояла из рычагов и шестерн.

Работал Бэббидж в одиночку. Но понимая, что один в поле не воин, регулярно посещал отраслевые выставки и прочие мероприятия. На одной из таких выставок в 1833 году он и встретил Аду Лавлейс. История утверждает, что она стала его близким другом и единомышленником. Можно выразиться так: между ними вспыхнула интеллектуальная искра! Было ей тогда, как мы уже знаем, всего 17 лет.

А вспыхнула она на почве того, что компьютер - лишь груда металла. А Лавлейс решила вдохнуть в нее жизнь. Вы наверняка помните этот легендарный момент из «Пиратов силиконовой долины», где Билл Гейтс впаривает руководству IBM операционную систему.

https://www.youtube.com/watch?v=DMa8t_FdbpQ

Уж неясно, как развивалась беседа на самом деле, но факт остается фактом: Билл Гейтс оживил железо IBM путем создания для него программного обеспечения.

Так вот, по сути, Билл Гейтс пошел по стопам Ады Лавлейс, которая написала для машины Бэббиджа первую в мире компьютерную программу. И этой программой был алгоритм вычисления чисел Бернулли .

Добавьте описание
Добавьте описание

Числа Бернулли – это последовательность рациональных чисел, обладающих некоторыми свойствами, которые делают их полезными в матанализе, приближенных вычислениях и теории чисел.

Короче, формула, мягко говоря, не простая, а вычисление уж тем более. Но идея Ады состояла как раз в том, чтобы заставить железяку Бэббиджа производить эти самые вычисления, ведь если есть формула и механизм способный вычислять, то можно автоматизировать процесс, не так ли?

Сказано – сделано. Ада, как утверждает история, написала самую первую в мире компьютерную программу, которая выглядела вот так.

Добавьте описание
Добавьте описание

Несмотря на то, что в сети имеется большое количество материалов о том, что Ада Лавлейс написала алгоритм с нуля, но на поверку оказывается, что всё было чуточку по-другому.

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

Добавьте описание
Добавьте описание

который, кстати, тогда был обычным инженером, а через три десятка лет стал премьер-министром Италии.

В октябре 1842 года Менабреа опубликовал статью на французском языке по лекции Бэббиджа. Когда Ада её увидела, она решила перевести ее на английский язык и отправить в британское издание. Ада не просто кое-как владела каким-нибудь там разговорным английским и французским, но настолько классно, что смогла перевести сложный научный текст, предназначенный для публикации в научном издании!

В 1842-1843 годах она переводила лекции Бэббиджа о его аналитической машине с французского на английский. Да так переводила, что итоговая работа заняла объем в три раза больше исходника. Этот самый дополнительный, как в наше время принято говорить, контент, и включал разработанный ею алгоритм.

Манускрипт весьма подробный, с большим количеством пояснительных записок и дополнительных таблиц. Ада Лавлейс считала, что машина Бэббиджа сможет не только решать математические задачи, но даже рисовать картины и писать музыку.

Этого, разумеется, не случилось. Технологии были мягко говоря, сыроваты. Это сейчас подобным успешно занимаются нейронные сети, которые во многих сферах превосходят человека, например, обыгрывают людей в го.

(https://i.guim.co.uk/img/media/6e698b71e16ecdeb5aca1d040b9c819a069f8065/469_955_2908_1744/master/2908.jpg?width=620&quality=85&auto=format&fit=max&s=7b406e190af39d91555d92905ff5e677)

Но вернёмся к аналитической машине, которая впечатляла своей громоздкостью, а утверждения о ее интеллектуальных – а по-другому и не скажешь! – способностях будоражили весь научный мир. Но все же устройство не было изготовлено. Стартапу Бэббиджа и Лавлейс банально не хватило денег. Цитируя Бэббиджа, можно привести горький пруф:

«Все разработки, связанные с Аналитической машиной, выполнены за мой счёт. Я провёл целый ряд экспериментов и дошёл до черты, за которой моих возможностей не хватает. В связи с этим я вынужден отказаться от дальнейшей работы».

Не было тогда Силиконовой долины с ее инвесторами. И венчурного капитала как понятия не существовало. Бэббидж уже один раз прогорел, потратив средства на производство своей предыдущей конструкции и точно знал, что ему откажут в финансировании. Капиталистов в то время, - как, разумеется, и сейчас, - интересовала и интересует прибыль, причем желательно предсказуемая, а правительство, посчитал изобретатель, уж точно откажет.

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

Это была, конечно же, весьма скромная сумма по сравнению с другими расходами, но проект был достаточно необычным, вызывал немало дискуссий, поэтому финансы были предоставлены. Бэббидж, кстати, лично не брал государственных денег. Ему их предлагали сами – авторитет у него был серьёзный.

Бэббиджу, кстати, пришлось пойти на достаточно оригинальные жертвы. Вы наверняка видели в Гугл-картинках легендарные гаражи, где свой бизнес начинали такие компании как Apple

Добавьте описание
Добавьте описание

, Google и многие другие.

Добавьте описание
Добавьте описание

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

Расходы Бэббиджа поражали. Но это и не странно. Не только красота, но и наука требует жертв! Ему, по факту, регулярно требовались инвестиции. Например, для одного только дифференциального двигателя в конечном итоге пришлось изготовить не 8 тысяч деталей, а целых 25 тысяч!

Кстати, назвать Бэббиджа бедным можно было ну с очень большой натяжкой, так как известно, что после смерти отец оставил ему 100 тысяч фунтов стерлингов, что на наши деньги около 14 миллионов баксов. Эх, и почему папаша не подкинул бабосов на допил аналитической машины?

В общем, аналитическая машина полноценно в жизнь воплощена не была. Получается, что Ада Лавлейс писала алгоритм для виртуальной машины, которая теоретически может быть изготовлена.

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

Ежели вам посчастливилось проживать в Калифорнии, сходите обязательно в Музей компьютерной истории и оценИте, насколько громадными являются изобретения Бэббиджа.

https://www.youtube.com/watch?v=be1EM3gQkAY

Кажется, что это трейлер какого-то фильма о мистике или вообще фентези, но никак не математическое устройство.

В течение практически всей жизни у Ады наблюдались постоянные проблемы со здоровьем. После 1841 года состояние особенно ухудшились, и она начала систематически принимать тяжелые медикаменты. Ада очень хотела в чем-то особо преуспеть, и у нее появилась мысль, что, возможно, это должна быть не математика, а музыка и литература. Но ее муж отговорил ее от этого, и к концу 1842 года она вернулась к занятиям математикой.

Да, она была замужем, а еще и матерью троих детей!

Ада была больна раком, а рак тогда не лечили от слова совсем. Поэтому Ада умерла в возрасте 36 лет. Бэббиджа несмотря на то, что был намного старше Ады, пережил её на целых 18 лет. В 1856 году он снова попытался работать над аналитическим двигателем, но большого прогресса не достиг.

Примечательно, что практически никакого ажиотажа сотрудничество Лавлейс и Бэббидж после их смерти за собой не повлекло. Более того, аналитическая машина была попросту забыта. В 1911 году находится упоминание о ней в Британской Энциклопедии. Получается, что не многие годы, а многие десятилетия и машина, и сам алгоритм оставались в затмении.

Исследователь Стефен Вольфрам пишет, что даже в начале второй половины прошлого века Бэббидж и Ада не были широко известны. Тем не менее, к 1980-м годам осведомленность об Аде Лавлейс и Чарльзе Бэббидже начала расти, стали появляться их биографии. А Министерство обороны США разработало и назвало свой язык программирования в честь Ады.

Вернулся интерес к деятельности Бэббиджа и Ады, росло и любопытство по поводу того, действительно ли заработала бы машина, если бы она была построена по планам Бэббиджа. В 2002 году полная разностная машина таки была построена. В планы было внесено только одно исправление. И надо сказать, что без денег ничего бы не получилось – это точно! Строительство обошлось во столько же, сколько Бэббидж запросил у британского правительства в далеком 1823 году.

И так оно вошло в историю, что Ада Лавлейс написала первую программу для компьютера. Это факт. Но есть одно «но». Программа оказалась нерабочая, содержала «баг». Как же так?

18 августа 2018 года на сайте ту бит хистори орг появился пост под названием «Что на самом деле делала программа Ады Лавлейс?».

Исследователи взяли алгоритм, который дошел до нашего времени и перевели на язык Си. Оказалось, что он не работает! Вернее, работает, но результат получается неверный.

Я тут не хочу особо вдаваться в подробности, но автор пишет, что в «diagram of development», части описания алгоритма, в определённом месте были перепутаны местами переменные v5 и v4. (114)

Автор так же ссылается на другого разработчика, который ранее переводил алгоритм на Python, и тоже заметил эту ошибку.

Короче говоря, вместе с первым алгоритмом, Ада создала еще и первый баг, который, как видим, был обнаружен уже в наше время. По крайней мере, обрел известность впервые 24 сентября 2015 года (115), когда свой опыт перевода алгоритма на язык Python опубликовал Джим Ранделл.

Вообще, надо сказать, что Чарльз Бэббидж оказался пророком. Он говорил, что без его изобретений будущее невозможно представить. И давайте перенесемся уже в «наши времена» и посмотрим на самый первый американский программируемый компьютер. Называется он Марк-1

Добавьте описание
Добавьте описание

и выглядит тоже весьма впечатляюще, но придумал его не изобретатель-чудак, а компания, имя которой нам хорошо известно. IBM!

Этот компьютер назвали «осуществленной мечтой Бэббиджа», ведь фактически он имел узлы ввода-вывода и управления, а также другие конструктивные элементы, весьма схожие с аналитической машиной.

Что поражает, так это сопоставление производительности. IBM Mark 1, который выпустила целая компания в 1944 году, то есть, через целых 80 лет назад, превосходил по производительности аналитическую машину Бэббиджа всего в 10 раз!

Кстати, разработка Марк 1 – заслуга не только разработчиков, но и менеджмента. Известно, что топ-менеджер Томас Уотсон вложил в проект 500 тысяч долларов, что на текущие деньги равно миллионам долларов!

Но вернёмся к нашим героям и удивительной истории создания первой компьютерной программы. Что же можно ещё почитать по данной теме?

В 2015 году ученый Стефен Вольфрам задался вопросом, а на самом ли деле все было так как принято считать и опубликовал достаточно подробные результаты исследования. В частности, привел в своей статье письма Ады Чарльзу, которые хранятся в Британской Библиотеке.

А не так давно вышла книга «Невероятные приключения Лавлейс и Бэббиджа».

Добавьте описание
Добавьте описание

Чтиво достаточно познавательное и весьма забавное, но сама обложка намекает на то, что рассказ написан в стиле комикса или комедии. Да и название – «Почти правдивая история первого компьютера». Почитать, конечно же, стоит, но уж больно все романтизировано и многие события наверняка имеют весьма отдаленное отношение к тому, что происходило на самом деле. Лично мне первая часть книги, выдуманная очень понравилась. Жаль, что реальность была гораздо более жестокой по отношению к Лавлейс и Бэббиджу.

Кстати, книга получила множество наград, среди них Британскую премию книжного дизайна и премия Ньюмана Британского общества.

В общем, история Лавлейс и Бэббиджа достойна экранизации, это однозначно! А еще лучше в виде сериала – будет интересно и познавательно, как айтишникам, так и широкой публике!