Человек создавший первую программу. Кем были первые программисты? Технику в массы

Ада Лавлейс

10 декабря 1815 года на свет появилась Ада Лавлейс, большинству из нас известная как самый первый в мире программист. Так уж получилось, что это звание принадлежит представительнице прекрасного пола. Сегодня исполняется двести один год со дня рождения этого человека. И в этом посте я бы хотел немного рассказать о самых интересных моментах из ее жизни, не отделываясь обрывочными фразами, но и не слишком уж углубляясь в детали. Материал можно найти, где угодно, имея под рукой Интернет. Однако мало кто полезет искать его просто ради интереса. Поэтому кому интересно, добро пожаловать под кат.

Учась в школе, сидя на уроках литературы, я прекрасно знал, кто такой Джордж Байрон.


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

Августа Ада Кинг (впоследствие графиня Лавлейс, но об этом чуть позже) – была дочерью английского поэта лорда Джорджа Гордона Байрона и его жены – Анны Изабеллы Байрон. Однако Байрон спустя месяц после рождения своей дочери покинул их, и они больше никогда не виделись. Сам Байрон умер, когда Аде было восемь лет. Сам он еще не раз вспоминал свою дочь в своих стихах.

Видно, что Ада сама росла в довольно талантливой семье. Ее мать, Анна Изабель, еще до рождения дочери сильно интересовалась математикой, за что когда-то получила от мужа забавное прозвище – “королева параллелограммов”. Это была действительно необычная семья. Анне после ухода мужа все же удалось воспитать дочь в одиночку и вот что из этого получилось.

В двенадцать лет Ада собрала свой летательный аппарат! До этого двенадцатилетняя девочка некоторое время запиралась от матери в комнате и что-то писала. Мать боялась, что она начнет зачитываться стихами отца и пойдет той же дорогой. Однако все это время она чертила.

Математическая логика занимала ее больше всего остального. Однажды Ада заболела и три года провела в постели. Но все это время она хотела и продолжала учиться. К ней приходили самые разные доктора и учителя. Одним из них был Август де Морган – известный математик и логик (да-да, закон де Моргана назван в его честь). С тех пор Ада еще больше погрузилась в мир математики.


В итоге Ада выросла уникальной девушкой. Она была красива и умна, точно также как и ее мама занималась математикой, а в разговорах на научные темы обходила даже ребят из Кембриджа и Оксфорда. Среди других людей, в основном женского пола, это вызвало скрытую злость и зависть. О ней нередко говорили как о чем-то темном, даже дьявольском. Надо сказать, что Ада и сама в себе чувствовала необычные силы (забавно, но на русском ее имя звучит и правда немного дьявольски). Но в этом нет ничего необычного, так как девушка-математик в высшем английском обществе того времени – со стороны это действительно выглядело странно. А многие мужчины меж тем были от нее без ума.

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


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

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

В 1835 году Ада выйдет замуж за очень достойного человека – барона Уильяма Кинга, который впоследствии был удостоен титула графа, а сама Ада стала графиней Лавлейс. Спустя четыре года у них уже было трое детей – два сына и дочь. Сыновьям Ада дала имена в честь отца – одного назвали Ральфом Гордоном, а другого – Байроном.

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

Вот ее слова: «Суть и предназначение машины изменятся от того, какую информацию мы в нее вложим. Машина сможет писать музыку, рисовать картины и покажет науке такие пути, которые мы никогда и нигде не видели» Алан Тьюринг впоследствие читал ее записи, введя в свои работы термин возражение леди Лавлейс относительно способности машин мыслить.

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

Сама Ада Лавлейс умерла 27 ноября 1852 года всего в возрасте 36 лет. Ровно столько, сколько прожил ее отец. Ее похоронили в фамильном склепе вместе с отцом, которого она так и не узнала.
В честь Ады Лавлейс был назван разработанный в 1980-х годах Министерством Обороны США язык программирования Ада.

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

Спасибо тем, кто прочел эту статью. Делитесь своими мнениями, комментариями или замечаниями).

Dr.Web - один из первых антивирусов в истории

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

По случаю дня рождения антивируса Dr.Web, который мы отмечаем в апреле, предлагаем вам совершить небольшой экскурс в историю и вспомнить вирусных и антивирусных «пионеров», оставивших яркий след в скоротечной и насыщенной событиями компьютеризации нашего общества. Они были первыми - в самых разных ипостасях, с самыми разными намерениями и зачастую намного опережали свое время!

Идеи витали в воздухе...

Идею самовоспроизводящихся программ изложил «отец» компьютера Джон фон Нейман. Материалы лекций на эту тему, которые он читал начиная с 1949 года, Нейман обобщил в научном труде «Теория самовоспроизводящихся автоматических устройств» более 60 лет назад - в 1951 году.

Появление термина «вирус» по отношению к компьютерной программе было неизбежно. Кто употребил его первым - сказать сложно. Есть мнение, что впервые он применен в фантастическом рассказе писателя и ученого Грегори Бенфорда «Человек в шрамах», опубликованном в 1970 году. Кстати, в этом же рассказе упоминается и программа борьбы с вирусом - «Вакцина»!

Первые вирусы

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

В 1971 году появилась первая программа, которую можно считать вирусом в современном понимании - The Creeper. Она не причиняла вреда, а лишь выводила сообщение на экран:

I`M THE CREEPER: CATCH ME IF YOU CAN

Но она уже умела самостоятельно распространяться по сети, став первым сетевым вирусом в истории.

Она же породила и первый антивирус - программу Reaper, являющуюся по сути таким же сетевым вирусом. Reaper распространялась по сетям, никак себя не проявляя, а если ей удавалось найти на компьютере The Creeper - она его стирала.

Вирусы распространяются

А это уже серьезно


Первыми известными настоящими вирусами являются Virus 1,2,3 и Elk Cloner для ПК Apple II - того самого будущего «мака», вирусов для которых, якобы, не существует. Оба вируса появились в 1981 году.

Первая эпидемия

К середине 80-х годов широкое распространение получили компьютеры IBM PC, что стало одной из причин возникновения вирусных эпидемий.

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

Исследования начинаются

В дипломной работе по теме «Самовоспроизводящиеся программы», подготовленной студентом Дортмундского университета Юргеном Краусом в 1980 году, наряду с теоретическими выкладками перечислялись и реально существовавшие на тот момент самовоспроизводящиеся программы для компьютера Siemens. Именно в этой работе впервые была проведена параллель между живой клеткой и самовоспроизводящейся компьютерной программой.

Ясное определение термина «компьютерный вирус» было дано в 1983 году Фредом Коэном, на тот момент - аспирантом Университета Южной Калифорнии:

«Мы определяем компьютерный вирус как программу, которая может “инфицировать” другую, внедряя в нее свою копию. Инфекция может распространяться через ЭВМ или сеть... Каждая инфицированная программа может вести себя как вирус, благодаря чему инфекция распространяется».

Фред Коэн, «Компьютерные вирусы, теория и эксперименты»

Незадолго до Dr.Web

В 1988 году была разработана первая версия отечественного антивируса Aidstest. Автор этой легендарной программы - Д.Н. Лозинский. Она использовалась практически на всех персональных компьютерах в СССР, а затем в странах СНГ, оставаясь вне конкуренции долгие годы. Разработка Лозинского помогла многим пользователям, в частности в государственном и коммерческом секторах, справиться с вирусной проблемой на начальном этапе ее появления. Сегодня Д.Н. Лозинский является заместителем генерального директора «Доктор Веб».

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

В СССР у истоков компьютерной вирусологии (с 1989 года) стоял Н.Н. Безруков. Его семинар «Системное программирование» и электронный бюллетень «Софтпанорама» в значительной степени были посвящены вопросам компьютерной вирусологии. В нем были представлены разработчики тогдашних отечественных антивирусов, включая Д.Н. Лозинского.

Позже Н.Н. Безруков написал фундаментальный труд «Компьютерная вирусология», который вышел в 1991 году и оказал большое влияние на Игоря Данилова.

Первая версия Spider’s Web

В 1992 году была разработана первая версия антивирусной системы Spider’s Web, включавшая в себя резидентный сторож Spider и доктор (сканер по современной терминологии) Web.

Многие считают это ремесло непонятным настолько, что нет никаких шансов разобраться в принципах даже теоретически.
Попытаюсь объяснить как это происходит, что называется, на пальцах.

Для написания программ используются языки программирования, которые разделяют на низкоуровневые, высокоуровневые и сверхвысокоуровневые, а какой из них какой и чем отличается станет ясно чуть позже. Но забегая вперед добавлю, что каждый язык создан для определенных задач и не всегда одну и ту же задачу можно реализовать на разных языках.
Для понятности, буду приводить примеры на бытовых приборах и задачах, с которыми мы сталкиваемся каждый день.
Итак, задача - нарезать хлеб к обеду. Для человека простейшая задача - чего его там резать-то, взял и нарезал, правда?
Самый главный навык программиста, без которого ничего не получится - умение разделять задачу на последовательность действий. Чем ниже уровень языка программирования, тем более детально нужно описывать эту последовательность.

Приведу пример, как выглядела бы программа по нарезке хлеба для нашего тела

Задача "нарезать хлеба" на языке программирования высокого уровня

1.Открыть правой рукой хлебницу;
__2.Взять булку хлеба правой рукой;
__3.Положить хлеб на разделочную доску; (предположим, что доска уже лежала на столе)
__4.Открыть правой рукой верхний ящик стола;
__5.Найти блестящий нож, длиной 20 см, с черной ручкой;
__6.Взять нож в правую руку;
__7.Поднести нож к хлебу;
__8.Зафиксировать хлеб левой рукой, взявшись за левый край булки;
__9.Расположить нож строго над правым ребром булки хлеба;
__10.Повторять следующие действия 5 раз:
____10.1.Отступить влево на сантиметр;
____10.2.Повторять следующие действия, пока лезвие ножа не не коснется доски:
________10.2.1.Прижать нож к хлебу;
________10.2.2.Совершить ножом возвратно поступательное движение вперед-назад;
____10.3.Поднять нож вверх;
__11.Положить нож в ящик;
__12.Отпустить левой рукой хлеб.
Все, программа по нарезке хлеба в количестве пяти кусков готова, можно ее продолжить, описав стирание крошек со стола, укладывания нарезанных кусочков на тарелочку и т.д.

Отладка программы

Запускаем программу и смотрим, как она работает:
Ой... вместе с пятым куском и палец отрезал...
чёрт! остановить программу!
Я же не написал как именно нужно зафиксировать хлеб левой рукой, схватился как попало и большой палец торчал в сторону...
Возвращаемся к строчке "Зафиксировать хлеб левой рукой, взявшись за левый край булки;"
После нее пишем:
"Поджать большой палец левой руки влево, к ладони;"
Запускаем программу
Ой... на строчке "Положить нож в ящик;" нож упал на пол...
Проклятье! оказывается, стол стоит немного под наклоном и ящик сам закрылся...
Возвращаемся к коду и перед строчкой "Положить нож в ящик;" пишем "Открыть правой рукой верхний ящик стола;"
Заметили ошибку? Нет?!
Как мы можем открыть ящик правой рукой, если в этой руке нож? Значит, сначала нужно положить нож на стол, потом открыть ящик, снова взять нож и т.д.
И делаем мы это до тех пор, пока хлеб не будет нарезан как следует, без повреждения мебели и пальцев.
Вот, примерно так происходит отладка
С опытом начинаешь писать программы, которые работают с первого раза, допуская минимум ошибок, а проверка "открыт ли ящик", перед складыванием в него чего-то, входит в привычку.

Когда какие-то операции совершаются постоянно, такие как нарезка хлеба, мойка посуды и т.д., то программисты их описывают в виде процедур.
Процедура - набор определенных действий, спрятанный под одной командой.
Таким образом, текст программы, который я приводил выше, можно поместить в процедуру под названием НарезатьХлеба(параметр), где в качестве параметра будем указывать количество кусков

в результате, программа с использованием процедур будет выглядеть так:
__ЗайтиНаКухню();
__НарезатьХлеба(5);
__ПоставитьХлебНаСтол();
__ПомытьПосуду();
и нет предела совершенству

Теперь о языке низкого уровня

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

Стоит немного рассказать что такое высокоуровневый язык и зачем нужен низкоуровневый, если проще писать на высокоуровневом?
Высокоуровневый язык был написан на низкоуровневом, в него были заложены команды, в виде процедур, подразумевающие последовательность действий, таких как "открыть ящик", "взять нож в руку" и т.д. но если по какой-то причине потребуется взять нож только двумя пальцами, потому что ручка сломана или отсутствует, например, то сделать этого не удастся, ибо команда "взять нож в руку" подразумевает использование всех пяти пальцев. Для таких ситуаций в высокоуровневых языках есть возможность делать вставки кода на низкоуровневом языке и вместо стандартной команды "взять нож в руку" пишется код на низком уровне под нож со сломанной ручкой.
Человек все эти операции делает не задумываясь, но машина так не умеет, ей нужно подробно объяснить что, как и в какой последовательности.
Сверхвысокоуровневые языки являются узкоориентированными на определенные задачи, например, для работы на кухне, они включают набор специальных команд и код на них выглядел бы примерно, как программа с использованием процедур, что описана выше.

Вы наверняка сталкивались с тем, что какие-то программы работают только под Windows, например, и их нет под Android или наоборот, хотя функции, казалось бы, обычные, и почему на телефон с Windows Phone нельзя установить Android?
Объясню на примере все той же программы для кухни: в тексте программы сказано "Найти блестящий нож, длиной 20 см, с черной ручкой в верхнем ящике стола", например, это для Windows. Однако, в андройде нет верхнего ящика стола, ножи там хранятся в настенном шкафу, т.е. процедура открытия ящика должна быть заменена на процедуру открытия шкафа, согласитесь - они разные! Но и нож там лежит длиной не 20 см, а в 25, он вовсе не блестящий и ручка у него не черная, а синяя. Поэтому, чтобы нарезать хлеба, нужно существенно переписать программу, хотя результат будет такой же. Для этого существуют кросплатформенные программы, которые могут работать под разными системами, т.е. на разных кухнях, ибо программисты предусмотрели оба варианта. Это, конечно, замечательно, но у них есть и минусы: если у вас всегда используется только кухня с ящиками в столах, то зачем вам код, который умеет работать со шкафами? А место он занимает. Это все равно что купить микроволновку, у которой в комплекте идут две дверки, одна предназначена для открывания влево, а другая вправо и еще у этой печки есть ниша, в которую можно положить ненужную дверку, но из-за этой ниши микроволновка выше на 10 мс. Вы поставите нужную дверку, а ниша будет занимать место.

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

Первое упоминание

Само слово "компьютер" было впервые документировано в 1613 году и означало человека, который выполняет расчеты. Но в XIX веке люди поняли, что машина никогда не устает работать, и она может выполнять работу гораздо быстрее и точнее.

Чтобы начать отсчет эры вычислительных машин, чаще всего берут 1822 год. Первый компьютер изобрел английский математик Чарльз Бэббидж. Он создал концепцию и приступил к изготовлению разностной машины, которая считается первым автоматическим устройством для вычислений. Она была способна подсчитывать несколько наборов чисел и делать распечатку результатов. Но, к сожалению, из-за проблем с финансированием Бэббидж так и не смог завершить ее полноценную версию.

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

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

Спустя почти 100 лет

Как ни странно, за целый век вычислительные машины почти не продвинулись в своем развитии. В 1936-1938 годах немецкий ученый Конрад Цузе создал Z1 - это первый электромеханический программируемый двоичный компьютер. Тогда же, в 1936 году, Алан Тьюринг построил машину Тьюринга.

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

Все для фронта

Вторая мировая война повлияла и на развитие ЭВМ. В декабре 1943 году компания Tommy Flowers представила засекреченную машину под названием «Коллос», которая помогала британским агентам взламывать шифры немецких сообщений. Это был первый полностью электрический программируемый компьютер. О его существовании широкая общественность узнала лишь в 70-х годах. С тех пор ЭВМ привлекли внимание не только ученых, но и министерств обороны, которые активно поддерживали и финансировали их разработку.

Насчет того, какой цифровой компьютер считать первым, идут споры. В 1937-1942 годах профессор Айовского университета Джон Винсент Атанасов и Клифф Берри (аспирант) разрабатывали свой компьютер ABC. А в 1943-1946 Дж. Преспер Эккерт и Д. Мокли, ученые Пенсильванского университета, построили мощнейший ENIAC весом в 50 тонн. Таким образом, Атанасов и Берри создали свою машину раньше, но поскольку она так никогда и не была полностью функционирующей, то часто звание «самый первый компьютер» достается ENIAC.

Первые коммерческие образцы

С огромными габаритами и сложностью конструкции компьютеры были доступны только военным ведомствам и крупным университетам, которые собирали их самостоятельно. Но уже в 1942 г. К. Цузе начал работу над четвертой версией своего детища - Z4, и в июле 1950 года продал его шведскому математику Эдуарду Стиефелю.

А первые компьютеры, которые начали выпускаться массово, это модели с лаконичным названием 701, произведенные IBM 7 апреля 1953 года. Всего их было продано 19701 штук. Конечно же, это все еще были машины, предназначенные только для крупных учреждений. Для того чтобы стать действительно массовыми, им нужно было еще несколько важных совершенствований.

Так, в 1955 году 8 марта заработал «Вихрь» — компьютер, который был изначально задуман во времена Второй мировой войны в качестве тренажера для пилотов, но к моменту своего создания подоспевший к началу Холодной войны. Тогда он стал основой для разработки SAGE - подсистемы противовоздушной обороны, разработанной для автоматического наведения на цель самолетов-перехватчиков. Ключевыми особенностями «Вихря» стали наличие оперативной памяти объемом 512 байт и вывод графической информации на экран в режиме реального времени.

Технику в массы

Компьютер TX-O, представленный в 1956 году в Массачусетском технологическом институте, был первым, в котором использовались транзисторы. Это позволило сильно уменьшить стоимость и габариты техники.

Затем команда ученых, которые занимались разработкой TX-O, покинула институт, основала компанию Digital Equipment Corporation и в 1960 году представила компьютер PDP-1, начавший эру миникомпьютеров. Их размер был не больше одной комнаты или даже шкафа, и они были предназначены для более широкого круга клиентов.

Ну а первые компьютеры-десктопы стала выпускать компания Hewlett Packard в 1968 году.

Компьютеры и другие вычислительные устройства занимают огромную часть нашей жизни. C помощью таких приспособлений мы не только ищем нужную информацию или пользуемся полезными программами, но и совершаем покупки, общаемся с друзьями и близкими, выполняем работу, проводим досуг и многое другое. Сегодня не составит труда отсканировать документ или, например, скачать любимую мелодию. А ведь еще совсем недавно человечество не знало таких возможностей.

Так, современные пользователи могут сетовать на то, видеофайл загружается на несколько минут дольше, чем должен. Еще каких-то 30-40 лет назад для того, чтобы посмотреть новый фильм, нужно было идти в кинотеатр в назначенное время. Для того чтобы послушать красивую мелодию лет 100 назад, нужно было бы пригласить к себе музыканта и отдать за это хорошие деньги. И это если говорить только о развлечениях. Трудно себе представить, сколько времени тратилось на проведение расчетов и составление документов, на коммуникацию и получение важной информации. Сегодня это все делают за нас машины благодаря одному главному процессу - программированию. Даже если взглянуть на современную стиральную машинку или мультиварку, то и она оснащена простеньким, но все же искусственным интеллектом. Такие приборы мы используем почти каждый день, но даже не задумываемся, благодаря кому это все стало возможно. Сегодня мы поговорим о людях, которые облегчили нашу жизнь в разы и открыли нам невероятный мир программного кода - программистах. Вы узнаете, кто был первый программист в истории и с чего все начиналось.

Первые шаги к программе

Принято считать, что к имеют страсть и способности только мужчины. Если взглянуть на список самых выдающих программистов, в глаза бросаются только мужские имена. Однако мало кто знает, что именно женщина - первый программист в истории человечества. Кем же была эта знаменательная особа?

Многим из нас приходилось слышать о таком известном английском писателе, как Джорж Гордон Байрон. Его дочь, Ада Августа Лавлейс (Байрон), и есть первый программист в мире. Любовь к математике девушке привила мать еще с самого детства. С ней занимались лучшие ученые в округе, где жила юная особа. Так, ее первым учителем стал выдающийся Август де Морган, что считался выдающимся математиком и логиком. Именно эти две составляющие и закладывают основу программирования. Они и помогли девушке в ее последующих научных трудах.

Первый программист в мире - Ада Августа Байрон

В истории информационных технологий одним из первых стоит имя Чарльза Бэббиджа. Этот человек трудился над теорией функций и механизацией счета. Бэббиджа по праву считают прародителем первой и называют "отцом компьютера". Он создал первую цифровую машину и назвал ее аналитической. Знаменательным событием в жизни Ады Августы становится знакомство с этим выдающимся изобретателем. Мать девушки была с ним хорошо знакома, и сам Бэббидж искренне радовался каждому новому достижению в освоении Адой математической науки.

Знакомство с аналитической машиной

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

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

Первый программист и его будни

В возрасте девятнадцати лет Ада Августа выходит замуж. Ее избранником становится лорд Кинг, впоследствии - граф Лавлейс. На тот момент лорду было 29 лет, и семейная жизнь Ады протекала счастливо и размеренно. Муж девушки поддерживал все ее научные начинания и даже восхищался складом ее ума. Супруги довольно часто посещали светские приемы, однако молодой особе было интересно совсем другое. Даже несмотря на замужество, ее общение с Чарльзом Бэббиджем стало ее теснее и сердечнее. Девушка напоминала Бэббиджу его погибшую дочь, тем более Ада являлась почти ее ровесницей. "Отца компьютера" также восхищали способности девушки, они часто обменивались интересными идеями и показывали друг другу свои вычисления. Со временем они стали не только коллегами, но и хорошими друзьями. Ада не выносила поверхностного общества и глупых людей. Она была требовательна к себе и окружающим. При математическом складе ума ее привлекали вещи, не свойственные женщинам. Девушка стала настоящим гением своего времени и посвятила свою жизнь науке.

Ада Августа не останавливается в своих научных расчетах

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

Изучение машин Бэббиджа

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

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

Первые программы

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

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

Последние годы жизни ученой

Ада умирает в возрасте 36 лет. В таком же возрасте умер ее отец от кровопускания. Отец и дочь скончались из-за одной болезни - рак. Даже несмотря на то, что Ада Августа пыталась лечиться, последние годы ее жизни были мучительными. Каждые новые расчеты были все более утомительными для женщины, но она не прекращала заниматься наукой до самой смерти. В честь Ады названы один из уникальных языков программирования "АДА", два маленьких города в Америке и колледж.

Удивительно, что первым программистом мира является именно женщина. Но эта молодая особа подарила миру свои разработки, которые стали основой для современного программирования.