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

Ада Лавлейс

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.

Графиня
Ада Лавлейс

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

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

А Ада Лавлейс (1815-1852) не только все поняла, но и забросала Чарльза вопросами по существу проблемы.

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

Кто же была эта девушка?

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

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

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

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

В 1835 году Ада выходит замуж за лорда Кинга, который впоследствии получил титул графа Лавлейса. У них родилось два сына и дочь, но ни дети, ни муж, ни светская жизнь не могли оторвать Аду от ее любимой математики. Не зря ее называли «Повелительницей чисел»!

В 1842 г. итальянский математик Луис Менебреа, преподаватель баллистики Туринской артиллеристской академии, опубликовал “Очерк Аналитической машины, изобретенной Чарльзом Бэббиджем”. Книга была написана на французском языке, и Бэббидж обратился к Аде Августе с просьбой перевести ее на английский язык.

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

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

В течение девяти месяцев графиня работала над текстом книги, попутно дополнив ее собственными комментариями и замечаниями. Именно эти комментарии и замечания сделали ее известной в мире науки, а заодно и ввели в историю.

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

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

“Примечания” Лавлейс заложили основы современного программирования. Одним из важнейших понятий программирования служит понятие цикла, которому она дает следующее определение:

“Под циклом операций следует понимать любую группу операций, которая повторяется более одного раза”.

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

«Можно с полным основанием сказать, Аналитическая машина точно так же плетет алгебраические узоры, как ткацкий станок Жаккарда воспроизводит цветы и листья»

– писала графиня Лавлейс. Она была одна из немногих, кто понимал, как работает машина и каковы ее перспективы.

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

Вместе с тем она прекрасно понимала границы этих возможностей:

“Желательно предостеречь против преувеличения возможностей аналитической машины. Аналитическая машина не претендует на то, чтобы создавать что-то действительно новое. Машина может выполнить все то, что мы умеем ей предписать. Она может следовать анализу; но она не может предугадать какие-либо аналитические зависимости или истины. Функции машины заключаются в том, чтобы помочь нам получить то, с чем мы уже знакомы”.

Вместе с тем уже в 40-х годах 19 века она разглядела в машине то, о чем боялся думать ее изобретатель Бэббидж: «Суть и предназначение машины изменятся от того, какую информацию мы в нее вложим. Машина сможет писать музыку, рисовать картины и покажет науке такие пути, которые мы никогда и нигде не видели».

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


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

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

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

Бэббидж придумал название для своей будущей машины и назвал ее «дифференциальной». В 1882 году ученый заинтриговал Адмиралтейство Британии и те стали спонсорами его разработок. Размер машины был огромный, она должна была занимать целую комнату и вычислять с точностью до 10-го знака дроби. За 10 лет ученый построил только один блок своего устройства. Идея аналитической машины захватывала Бэббиджа, он по сути предложил миру схему почти современного компьютера. Центральный процессор он называл мельницей, были перфокарты, программы-инструкции. Машина состояла из множества зубчатых колес и должна была приводиться в действие паром. В 1871 году Чарльз Бэббидж умер и правительство Англии решило, что никто больше не способен изобрести подобную машину и закрыла проект.

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

У самой же было развлечение - поиск формулы, которая позволила бы всегда побеждать в тотализаторе на скачках. Ада умерла в возрасте 37 лет, прожила столько же как и ее отец и была похоронена в той же усыпальнице, что и лорд Байрон. В день ее рождения - 10 декабря, во многих странах отмечают День программиста, а в 70-е Пентагон назвал в ее честь язык программирования ADA.