Ада Лавлейс. Первая в мире программа и взгляд в будущее
10 декабря 1815 года на свет появилась Ада Лавлейс, большинству из нас известная как самый первый в мире программист. Так уж получилось, что это звание принадлежит представительнице прекрасного пола. Сегодня исполняется двести один год со дня рождения этого человека. И в этом посте я бы хотел немного рассказать о самых интересных моментах из ее жизни, не отделываясь обрывочными фразами, но и не слишком уж углубляясь в детали. Материал можно найти, где угодно, имея под рукой Интернет. Однако мало кто полезет искать его просто ради интереса. Поэтому кому интересно, добро пожаловать под кат.
Учась в школе, сидя на уроках литературы, я прекрасно знал, кто такой Джордж Байрон.
Мы читали и по желанию заучивали его стихотворения. Спустя время, выбрав себе профессию я узнал о том, кем была загадочная Ада Лавлейс – первая девушка-программист, дочь того самого лорда Джорджа Байрона. Тогда для меня это оказалось удивительным открытием. Я на всю жизнь запомнил, кем была Ада и, как-то совсем незаметно для самого себя, забыл о самом Байроне.
Августа Ада Кинг (впоследствие графиня Лавлейс, но об этом чуть позже) – была дочерью английского поэта лорда Джорджа Гордона Байрона и его жены – Анны Изабеллы Байрон. Однако Байрон спустя месяц после рождения своей дочери покинул их, и они больше никогда не виделись. Сам Байрон умер, когда Аде было восемь лет. Сам он еще не раз вспоминал свою дочь в своих стихах.
Видно, что Ада сама росла в довольно талантливой семье. Ее мать, Анна Изабель, еще до рождения дочери сильно интересовалась математикой, за что когда-то получила от мужа забавное прозвище – “королева параллелограммов”. Это была действительно необычная семья. Анне после ухода мужа все же удалось воспитать дочь в одиночку и вот что из этого получилось.
В двенадцать лет Ада собрала свой летательный аппарат! До этого двенадцатилетняя девочка некоторое время запиралась от матери в комнате и что-то писала. Мать боялась, что она начнет зачитываться стихами отца и пойдет той же дорогой. Однако все это время она чертила.
Математическая логика занимала ее больше всего остального. Однажды Ада заболела и три года провела в постели. Но все это время она хотела и продолжала учиться. К ней приходили самые разные доктора и учителя. Одним из них был Август де Морган – известный математик и логик (да-да, закон де Моргана назван в его честь). С тех пор Ада еще больше погрузилась в мир математики.
В итоге Ада выросла уникальной девушкой. Она была красива и умна, точно также как и ее мама занималась математикой, а в разговорах на научные темы обходила даже ребят из Кембриджа и Оксфорда. Среди других людей, в основном женского пола, это вызвало скрытую злость и зависть. О ней нередко говорили как о чем-то темном, даже дьявольском. Надо сказать, что Ада и сама в себе чувствовала необычные силы (забавно, но на русском ее имя звучит и правда немного дьявольски). Но в этом нет ничего необычного, так как девушка-математик в высшем английском обществе того времени – со стороны это действительно выглядело странно. А многие мужчины меж тем были от нее без ума.
Математика математикой, но как же так вышло, что помнят о ней в первую очередь именно программисты? Одной из самых судьбоносных встреч Ады Лавлейс стала встреча с Чарльзом Бэббиджем – изобретателем первой аналитической вычислительной машины.
В то время, во Франции, куда и прибыл Бэббидж, был развернут крупномасштабный проект по созданию таблиц значений логарифмов и тригонометрических функций. Бэббидж стал мечтать о том, чтобы автоматизировать этот труд, заодно исключив возможные человеческие ошибки, так как в то время именно люди вручную занимались созданием таких таблиц. Так Бэббидж задумался о построении своей разностной машины (вычисление многочлена с помощью разностного метода).
Им было создано огромное количество чертежей, а сам прототип закончен в 1832 году, тот самый, который Ада Лавлейс увидит спустя год.
В 1835 году Ада выйдет замуж за очень достойного человека – барона Уильяма Кинга, который впоследствии был удостоен титула графа, а сама Ада стала графиней Лавлейс. Спустя четыре года у них уже было трое детей – два сына и дочь. Сыновьям Ада дала имена в честь отца – одного назвали Ральфом Гордоном, а другого – Байроном.
А как же с той самой первой в мире программой? И какова судьба машины Бэббиджа? В 1842 году итальянский ученый Луис Манебреа напишет книгу о машине Бэббиджа. Ада по просьбе Бэббиджа займется ее переводом. Во время перевода самой книги она сделала огромное количество замечаний, видя в этой машине кажется больше, чем сам Бэббидж.
Вот ее слова: «Суть и предназначение машины изменятся от того, какую информацию мы в нее вложим. Машина сможет писать музыку, рисовать картины и покажет науке такие пути, которые мы никогда и нигде не видели» Алан Тьюринг впоследствие читал ее записи, введя в свои работы термин возражение леди Лавлейс относительно способности машин мыслить.
В то же самое время, при описании машины Бэббиджа именно Ада ввела в обиход такие компьютерные термины как цикл и ячейка. Она также составил набор операций для вычисления чисел Бернулли. Именно это по сути и стало самой первой компьютерной программой. Бэббидж так и не построил свою машину, она была собрана уже после его смерти и сейчас хранится в Музее науки в Лондоне.
Сама Ада Лавлейс умерла 27 ноября 1852 года всего в возрасте 36 лет. Ровно столько, сколько прожил ее отец. Ее похоронили в фамильном склепе вместе с отцом, которого она так и не узнала.
В честь Ады Лавлейс был назван разработанный в 1980-х годах Министерством Обороны США язык программирования Ада.
P.S. Наверное, тем людям, у которых фраза “Первым программистом была девушка” вызывает недовольство или улыбку, стоит хотя бы раз поинтересоваться биографией этого человека. О таких людях, как Ада Лавлейс или Алан Тьюринг и о многих других стоит помнить. А для кого-то эти истории еще один повод понять, что в мире нет ничего невозможного.
Спасибо тем, кто прочел эту статью. Делитесь своими мнениями, комментариями или замечаниями).
Первая программист Августа Ада Лавлейс
10 декабря названо Днем программиста в честь родившейся также в этот день первой представительницы этой не слишком древней профессии.
Августа Ада Лавлейс родилась 10 декабря 1815 года. Она была единственной дочерью великого английского поэта Джорджа Гордона Байрона (1788 — 1824) и Аннабеллы Байрон, урождённой Милбэнк (1792 — 1860). «Она незаурядная женщина, поэтесса, математик, философ», — писал Байрон о своей будущей жене в 1813 году. Родители ее расстались, когда девочке было два месяца, и больше своего отца она не видела.
Ада унаследовала у матери любовь к математике и многие черты отца, в том числе, близкий по эмоциональному складу характер.
Байрон посвятил дочери несколько трогательных строк в «Паломничестве Чайльд Гарольда», но при этом в письме к своей кузине заранее беспокоился: «Надеюсь, что Бог наградит ее чем угодно, но только не поэтическим даром…
Ада получила прекрасное воспитание. Важное место в нём занимало изучение математики – в немалой степени под влиянием матери. Её учителем был известный английский математик и логик Август де Морган. К 1834 году относится ее первое знакомство с выдающимся математиком и изобретателем Чарльзом Бэбиджем, создателем первой цифровой вычислительной машины с программным управлением, названной им „аналитической“. Бэббидж, который был знаком с леди Байрон, поддерживал увлечение юной Ады математикой. Бэббидж постоянно следил за научными занятиями Ады, он подбирал и посылал ей статьи и книги, в первую очередь по математическим вопросам. Занятия Ады поощряли друзья её семьи – Август де Морган и его жена, супруги Соммервил и другие. Ада посещает публичные лекции Д.Ларднера о машине. Совместно с Соммервилем и другими она впервые посещает Бэббиджа и осматривает его мастерскую. После первого посещения Ада стала часто бывать у Бэббиджа, иногда в сопровождении миссис де Морган. В своих воспоминаниях де Морган так описала один из первых визитов: „Пока часть гостей в изумлении глядела на это удивительное устройство с таким чувством, как говорят, дикари первый раз видят зеркальце или слышат выстрел из ружья, мисс Байрон, совсем ещё юная, смогла понять работу машины и оценила большое достоинство изобретения“ 
Семейная жизнь Августы Ады сложилась счастливо. В 1835 году Ада Байрон в возрасте девятнадцати лет вышла замуж за 29-летнего лорда Кинга, который впоследствии стал графом Лавлейс. Муж не имел ничего против научных занятий супруги и даже поощрял ее в них. Правда, высоко ценя ее умственные способности, он сокрушался: „Каким отличным генералом ты могла бы стать!“ Супруги Лавлейс вели светский образ жизни, регулярно устраивая приёмы и вечера в своём лондонском доме и загородном имении Окхат-Парк. Замужество Ады не отдалило её от Бэббиджа; их отношения стали ещё более сердечными. В начале знакомства Бэббиджа привлекли математические способности девушки. В дальнейшем Бэббидж нашёл в ней человека, который поддерживал все его смелые начинания. Ада была почти ровесницей его рано умершей дочери. Всё это привело к тёплому и искреннему отношению к Аде на долгие годы.
Ада была маленького роста, и Бэббидж, упоминая о ней, часто называл её феей. Однажды редактор журнала „Examinator“ описал её следующим образом: „Она была удивительна, и её гений (а она обладала гениальностью) был не поэтический, а математический и метафизический, её ум находился в постоянном движении, который соединился с большой требовательностью. Наряду с такими мужскими качествами, как твёрдость и решительность, леди Лавлейс присущи были деликатность и утонченность наиболее изысканного характера. Её манеры, вкусы, образование… были женскими в хорошем смысле этого слова, и поверхностный наблюдатель никогда не смог бы предположить силу и знание, которые лежали скрытыми под женской привлекательностью. Насколько она питала неприязнь к легкомыслию и банальностям, настолько она любила наслаждаться настоящим интеллектуальным обществом.
У супругов Лавлейс в 1836 году родился сын, в 1838 – дочь и в 1839 – сын. Естественно, что это оторвало Аду на время от занятий математикой. Но вскоре после рождения третьего ребёнка она обращается к Бэббиджу с просьбой подыскать ей преподавателя математики. При этом она пишет, что имеет силы дойти так далеко в достижении своих целей, как она этого пожелает. Бэббидж в письме от 29 ноября 1839 года отвечает Лавлейс: “Я думаю, что Ваши математические способности настолько очевидны, что не нуждаются в проверке. Я навёл справки, но найти в настоящее время человека, которого я мог бы рекомендовать Вам как преподавателя, мне не удалось. Я продолжу поиски»
С начала 1841 года Лавлейс серьёзно занялась изучением машин Бэббиджа. В одном из писем к Бэббиджу Ада пишет: «Вы должны сообщить мне основные сведения, касающиеся Вашей машины. У меня есть основательная причина желать этого». В письме от 12 января 1841 года она излагает свои планы: «…Некоторое время в будущем (может быть в течение 3-х или 4-х, а возможно, даже многих лет) моя голова может служить Вам для Ваших целей и планов… Именно по этому вопросу я хочу серьёзно поговорить с Вами». Это предложение было с признательностью принято Бэббиджем. С того времени их сотрудничество не прерывалось и дало блестящие результаты.
В октябре 1842 года была опубликована статья Менабреа, и Ада занялась её переводом. План и структуру примечаний они вырабатывали совместно. Закончив очередное примечание, Ада отсылала его Бэббиджу, который редактировал его, делал различные замечания и отсылал. Работа была передана в типографию 6 июля 1843 года.
Центральным моментом работы Лавлейс было составление программы (чисел) вычисления чисел Бернулли. В комментариях Лавлейс были приведены три первые в мире вычислительные программы, составленные ею для машины Бэббиджа. Самая простая из них и наиболее подробно описанная — программа решения системы двух линейных алгебраических уравнений с двумя неизвестными. При разборе этой программы было впервые введено понятие рабочих ячеек (рабочих переменных) и использована идея последовательного изменения их содержания. От этой идеи остается один шаг до оператора присвоения — одной из основополагающих операций всех языков программирования, включая машинные. Вторая программа была составлена для вычисления значений тригонометрической функции с многократным повторением заданной последовательности вычислительных операций; для этой процедуры Лавлейс ввела понятие цикла — одной из фундаментальных конструкций структурного программирования. В третьей программе, предназначенной для вычисления чисел Бернулли, были уже использованы рекуррентные вложенные циклы. В своих комментариях Лавлейс высказала также великолепную догадку о том, что вычислительные операции могут выполняться не только с числами, но и с другими объектами, без чего вычислительные машины так бы и остались всего лишь мощными быстродействующими калькуляторами.
Успехи давались ей с большим напряжением и не без ущерба для здоровья. Немногое удалось сделать за свою короткую жизнь Августе Аде Лавлейс. Но то немногое, что вышло из-под ее пера, вписало ее имя в историю вычислительной математики и вычислительной техники как первой программистки. В память об Аде Лавлейс назван разработанный в 1980 году язык АДА – один из универсальных языков программирования. Этот язык был широко распространён в США, и Министерство Обороны США даже утвердило название “Ада”, как имя единого языка программирования для американских вооруженных сил, а в дальнейшем и для всего НАТО.
Так же в честь Ады Лавлейс названы в Америке также два небольших города — в штатах Алабама и Оклахома. В Оклахоме существует и колледж ее имени.
Первый программист в мире: кто он, с чего начал путь и какую программу создал
Августа Ада Лавлейс — имя первой программистки
С детства Ада была увлечена математикой, черчением и другими точными науками. Уже к 12-ти годам она разработала и начертила собственный летательный аппарат, который должен был работать на паровом двигателе.
Уже в 1824-м из-за своего увлечения наукой она была представлена математику Чарльзу Бэббиджу на выставке, где он представлял свой аппарат, сконструированный для автоматического расчета логарифмических и тригонометрических функций. Инструкция д ля работы того аппарата вводилась с помощью перфокарты. Сама Ада потом долгое время еще изучала данный аппарат, его назначение и работу. Так она и подружилась с данным математиком, который стал ее ментором в математической науке.
Вычислительный аппарат Бэббиджу так и не имел окончательной реализации из-за технических ограничений того времени и финансовых трудностей самого изобретателя. Но на этом он сам не остановился и решил разработать новый проект — аналитическую машину. Данная аналитическая машина и считается прародителем первого компьютера. Но сам прототип этой аналитической машины был создан уже после смерти его изобретателя.
Именно те комментарии Ады легли в основу современного программирования. Именно она ввела такие понятия, как команды, цикл, свойство и т. д. Это намного ускоряло передачу команды при помощи перфокарты.
Сейчас имя первой программистки носит один из языков программирования и два городка в США.
Морис Уилкс — первый программист мужчина
Он родился в 1913-м году в Великобритании. Обучался в Кембридже по специальности «радиофизика». Принимал участие во Второй Мировой Войне.
Уже в 1946-м году вернулся в научную деятельность. В тот момент ему попался доклад математика Д. Неймана о разработке Вычислительной Машины с именем «EDVAC» в США. Этот доклад вдохновил математика на изучение возможностей ЭВМ, он прошел множество тематических теоретических лекций.
Именно поэтому он заслужил статус — современный «первый программист», так как именно его доработки плотно легли в основу современного программирования.
Конрад Цузе — первый программист, создавший собственный язык программирования
Родился в Берлине в 1910-м году. С детства увлекался математикой и инженерией. Уже в школьном возрасте создал аппарат, автоматически разменивающий деньги. Окончил Высшую Техническую школу Германии по специальности «инженер». После устроился работать в авиакомпанию.
Так получилось, что он был призван в Вооруженные Силы и участвовал в боевых действиях, а чуть позже был переведен в военный авиационный институт, где проводили секретные исследования.
Соль в том, что труды данного разработчика были опубликованы только в 1972-м году, когда они уже по сути теряли свою актуальность. А его собственный язык был доведен до рабочего состояния только в 2000-м. Поэтому особого влияния на развитие общего программирования его исследования не оказали. Остается только догадываться, как бы могло развиваться программирование и компьютерная сфера в целом, если бы данный уче н ый сотрудничал с другими коллегами и раньше бы опубликовал свои труды.
Но факт остается фактом : этому уче н ому присвоен статус — «первый программист, который создал собственный язык программирования». До него этого никто не делал.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Кем были первые программисты?
Программист — сравнительно молодая профессия, появившаяся, по разным данным, около 70 лет назад. За это время она успела проделать огромный путь, и деятельность современных программистов мало чем напоминает труд специалистов в этой области около полувека назад. В этой статье мы расскажем, с как возникла эта профессия, и о самых известных первопроходцах в этой сфере.
1. Августа Ада Лавлейс
«Суть и предназначение машины изменятся от того, какую информацию мы в нее вложим. Машина сможет писать музыку, рисовать картины и покажет науке такие пути, которые мы никогда и нигде не видели».
Это может оказаться сюрпризом, однако первым программистом была. женщина. Дочь знаменитого поэта-романтика Гордона Байрона появилась на свет в Лондоне, в 1815 году. Впрочем, брак лорда Байрона с матерью девочки, Анной Изабеллой Милбенк распался, когда ребенку было лишь 5 недель, и с того времени она ни разу не видела своего отца.
Ада провела свое детство в окружении многочисленных гувернанток, получив прекрасное разностороннее образование, больше всего ее интересовала математика и иные точные науки. В свои 12 лет девочка создавала чертежи оригинального летательного аппарата, работающего при помощи парового двигателя!»
В 1824 году Ада впервые познакомилась с математиком Чарльзом Бэббиджем, и эта встреча стала для нее знаковой. Ученый продемонстрировал Лавлейс модель своей разностной машины, сконструированной для автоматического подсчета логарифмов и тригонометрических функций, инструкции для которой предлагалось вводить при помощи перфокарт.
Лавлейс очень заинтересовалась проектом Бэббиджа, потратив немалое время на его изучение. Вскоре исследователь стал ее другом и наставником в области математической науки, и их сотрудничество было плодотворным и продолжалось на протяжении многих лет.
Хотя разностная машина ввиду ряда причин (сложности с технической реализацией, ограниченность бюджета) так и не была создана, этот проект вдохновил Чарльза на создание своего следующего проекта – аналитической машины. По сути, этот аппарат считается прародителем первого компьютера, хотят работающий прототип этой машины был создан спустя значительное время после смерти ученого.
По приглашению итальянских математиков, исследователь прочитал курс лекций о своем устройстве в Турине.
На основе этих материалов Луиджи Менабреа в 1842 году опубликовал статью об аналитической машине на французском языке.
Чарльз попросил Аду сделать ее перевод на английский, и она с вдохновением взялась за работу, сочтя это большой честью.
Однако Лавлейс не только перевела научный текст, но и расширила ее многочисленными емкими комментариями, включавшими в себя размышления по поводу особенностей конструкции устройства. В результате статья увеличилась в размерах более чем в три раза!
Особенно интересно, что в своих примечаниях Лавлейс описывала разработку плана операций для аналитической машины (программный алгоритм). Именно он считается первой программой, созданной непосредственно для компьютера. И несмотря на то, что она так и не была применена на практике, именно эту женщину называют первым программистом.
Далеко опередив свое время, Ада предположила, что вычислительная машина способна справиться с задачами, которые не под силу человеку.
Заметки Лавлейс легли в основу современного программирования. Ада ввела понятие цикла, определив его как набор команд, повторяющийся более одного раза. Такое нововведение позволило значительно сократить объем программного алгоритма. Без такой оптимизации применение машины было бы затруднительным, поскольку передача команд осуществлялась с использованием перфокарт, имеющих ограниченный размер.
По имени этой потрясающей девушки получил свое название язык программирования АДА, использующийся в военных силах США и НАСА. Помимо этого, в США в ее честь названы два маленьких городка и колледж.
2. Морис Уилкс
«Я точно помню тот самый момент, когда я понял, что большая часть моей жизни теперь будет состоять в поиске ошибок в моих собственных программах».
Этот известный ученый появился на свет в 1913 году в Великобритании. Исследователь прошел обучение в Кембриджском университете, выбрав специальность радиофизика. После завершения учебы, он стал помощником профессора в математической лаборатории.
После окончания Второй мировой войны (ученый принимал участие в боевых действиях) Уилкс возглавил лабораторию и занимал этот пост на протяжении многих лет.
В 1946 году в руки исследователя попал доклад известного математика Джона фон Неймана о создании ЭВМ под названием EDVAC, стартовавшем в США.
Уилкса очень заинтересовали идеи, касающиеся записи и хранения программного кода в памяти электронных устройств. Вдохновленный докладом своего коллеги, Уилкс записывается на цикл лекций, посвященный теории и методам конструирования электронных цифровых компьютеров, в Электротехнической школе Мура. Позднее он скажет, что эти лекции стали одним из решающих событий в его жизни.
Вернувшись домой, исследователь приступает к созданию своей собственной машины. По сути, этот проект был копией машины фон Ноймана, однако Морис Уилкс внес ряд существенных изменений в его программную часть.
Для сокращения объема двоичного кода, использующегося при создании программ, он разработал первую в мире мнемоническую систему обозначения компьютерных команд, получившую название ассемблер. Так, действие вычитания кодировалось латинской S, передача информации в память – буквой T и т.д.
Еще одним нововведением была библиотека подпрограмм. В то время ученые вынуждены были записывать часто использующиеся программы в блокнот, чтобы не создавать их каждый раз заново. Однако, в соответствии с тем, как размещались эти алгоритмы в памяти устройства, код каждый раз видоизменялся, что делало его применение неудобным и отнимало много времени.
Морис оптимизировал этот процесс, создав единую библиотеку подпрограмм и алгоритм, автоматически размещающий их в памяти компьютера, активировавшийся короткой командой.
Позднее Морис со своей командой приступил к разработке следующей версии машины – EDVAC-2. Здесь ему удалось реализовать принцип микропрограммирования. Иными словами, он создал программу, которая осуществляет функцию управлению компьютером за счет команд, написанных в виде машинного кода.
Соответственно, разработка управляющей системы из конструирования непосредственно аппаратной части компьютера превращалось в задачу создания программного обеспечения. Кроме того, этот принцип позволял вносить изменения в работу компьютера, не создавая с нуля техническое оборудование.
3. Конрад Цузе
Цузе выучился на инженера в Высшей технической школе и позднее устроился на работу в авиакомпанию. Очень скоро он столкнулся с необходимостью производить огромное количество однообразных скучных расчетов для проектирования самолетов. Решив подойти к этому творчески, молодой инженер задался целью сконструировать вычислительный прибор, используя вместо мастерской дом своих родителей.
В его планы входило создание ряда устройств, задуманных как вспомогательный инструмент для работы инженеров и проектировщиков. Первый прототип этого компьютера (V-1) был полностью автоматическим и располагался на площади размером 4 м2.
Во время войны он находился в составе действующей армии, однако сумел убедить свое командование в пользе своих разработок и вскоре был отправлен в авиационный исследовательский институт в Берлине для проведения исследований.
Разработки Цузе – это история научной работы и открытий одиночки: в военное время у него не было никакого доступа к исследованиям своих коллег, равно как и возможностей для сотрудничества. Ввиду недостатка финанфирования, исследователь был вынужден перейти от конструирования приборов к теоретической работе.
Ученый изобрел первый язык программирования высокого уровня, названный Планкалкюль. Он задумывался как система управления для одной из его машин (V-4), однако мог успешно применяться для схожих с ним устройств.
Инженер считал, что в основе языка должна лежать система числовых и символьных обозначений, основанная на принципах логики, иными словами – набор поэтапных шагов в решении задачи.
Цузе подчеркивал, что его язык подходит для реализации самых разных задач, в том числе математических операций и сортировки чисел.
Увлекшись шахматами, инженер также разработал множество фрагментов кода, позволяющих машине оценивать шахматные позиции.
Изобретатель никогда не надеялся, что его язык будет применен на практике. Он всегда говорил о том, что Планкалкюль возник как плод теоретических изысканий, безотносительно того, возникнут ли в ближайшее время устройства, которые позволят его реализовать.
Рабочая версия этого языка впервые была создана в Свободном университете Берлина только в 2000 году.
Научные труды ученого были изданы в полном объеме лишь в 1972 году. Кто знает, как мог повлиять Планкалкюль на развитие программирования, если бы исследователи в этой области смогли познакомиться с работами инженера намного раньше?









