EngineerSpock

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Работал Бэббидж в одиночку. Но понимая, что один в поле не воин, регулярно посещал отраслевые выставки и прочие мероприятия. На одной из таких выставок в 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

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

Расходы Бэббиджа поражали. Но это и не странно. Не только красота, но и наука требует жертв! Ему, по факту, регулярно требовались инвестиции. Например, для одного только дифференциального двигателя в конечном итоге пришлось изготовить не 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 Mark 1, который выпустила целая компания в 1944 году, то есть, через целых 80 лет назад, превосходил по производительности аналитическую машину Бэббиджа всего в 10 раз!

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

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

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

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

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

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

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

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *