Как написали первую программу без программы для написания программ? Первая компьютерная программа
Первая компьютерная программа / Наука / iFAQ
В 17 лет приставленная ко двору, девушка не стала искать себе ухажера, а примкнула к исследователю математику Чарьзу Бэббиджу. Ее так увлекал идея автоматический счетной машинки, которая считалась безумием в то время, что все свои силы тратила на ее проектирование. Бэббиджа вдохновляло то, что Наполеон уже заказывал нечто подобное и его придворным ученным не удалось закончить изобретение из-за развязавшейся войны.
Бэббидж придумал название для своей будущей машины и назвал ее «дифференциальной». В 1882 году ученый заинтриговал Адмиралтейство Британии и те стали спонсорами его разработок. Размер машины был огромный, она должна была занимать целую комнату и вычислять с точностью до 10-го знака дроби. За 10 лет ученый построил только один блок своего устройства. Идея аналитической машины захватывала Бэббиджа, он по сути предложил миру схему почти современного компьютера. Центральный процессор он называл мельницей, были перфокарты, программы-инструкции. Машина состояла из множества зубчатых колес и должна была приводиться в действие паром. В 1871 году Чарльз Бэббидж умер и правительство Англии решило, что никто больше не способен изобрести подобную машину и закрыла проект.
Но тем не менее 13 июля 1843 года Ада прислала математику письмо, в нем она изложила алгоритм машинных вычислений чисел Бернулли. Ада считала, что обработка данных машиной вовсе не обязана быть аналитической или арифметической, она считала это заблуждением. Цифры машина понимает так же как и буквы или другие символы. Графиня считала, что в будущем машины смогут писать музыку и даже стихи.
У самой же было развлечение — поиск формулы, которая позволила бы всегда побеждать в тотализаторе на скачках. Ада умерла в возрасте 37 лет, прожила столько же как и ее отец и была похоронена в той же усыпальнице, что и лорд Байрон. В день ее рождения — 10 декабря, во многих странах отмечают День программиста, а в 70-е Пентагон назвал в ее честь язык программирования ADA.
ifaq.su
Первый программист
Графиня Ада Лавлейс
На технологической выставке в 1834 г. Чарльз Бэббидж впервые публично заявил о своей новой разработке – аналитической машине, прабабушке современного компьютера.
Естественно, его речь была насыщена математическими терминами и логическими выкладками, которые неподготовленному человеку понять было сложно.
А Ада Лавлейс (1815-1852) не только все поняла, но и забросала Чарльза вопросами по существу проблемы.
Бэббидж был поражен остротой ума девушки, к тому же, Ада была почти ровесницей его рано умершей дочери.
Кто же была эта девушка?
Ада Августа Лавлейс, урожденная Байрон, родилась 10 декабря 1815 года в семье известного английского поэта лорда Байрона и его жены Анабеллы. Через месяц после рождения ребенка лорд Байрон покинул семью и никогда больше не видел свою дочь.
Анабелла сделала все возможное, чтобы ее дочь никогда не стала поэтессой. Она нанимала дочери выдающихся в то время учителей, чтобы заинтересовать ее математикой и музыкой, и вполне в этом преуспела. Во время тяжелой болезни Ада, на три года потерявшая способность ходить, продолжала свои занятия.
В 1834 году на технологической выставке одержимость юной леди математикой обрела воплощение. Открылась новая, отличная возможность при помощи математики заставить машину помогать человеку решать математические задачи! Впоследствии Бэббидж руководил научными занятиями Ады, посылал ей статьи и книги, представляющие интерес, и знакомил со своими работами.
Забегая далеко вперед, по своему опыту могу сказать, что когда я в студенческие годы начала писать свои первые программы на ЭВМ, то тоже была буквально потрясена возможностями машины в области математических расчетов. И по объему вычислений, и по быстродействию, и по отсутствию ошибок в расчетах ЭВМ, конечно, все делала классно!
В 1835 году Ада выходит замуж за лорда Кинга, который впоследствии получил титул графа Лавлейса. У них родилось два сына и дочь, но ни дети, ни муж, ни светская жизнь не могли оторвать Аду от ее любимой математики. Не зря ее называли «Повелительницей чисел»!
В 1842 г. итальянский математик Луис Менебреа, преподаватель баллистики Туринской артиллеристской академии, опубликовал “Очерк Аналитической машины, изобретенной Чарльзом Бэббиджем”. Книга была написана на французском языке, и Бэббидж обратился к Аде Августе с просьбой перевести ее на английский язык.
Графиня Лавлейс, резонно рассудив, что ее матери вполне достаточно, чтобы заниматься с внуками и с многочисленным штатом домашней прислуги, с радостью вернулась в мир математики. Ада Августа решила полностью посвятить себя любимой науке, работе над машиной Бэббиджа и ее широкой популяризации.
Кстати, муж ее полностью поддерживал. Наверное, поэтому его фамилия вошла в историю вычислительной техники.
В течение девяти месяцев графиня работала над текстом книги, попутно дополнив ее собственными комментариями и замечаниями. Именно эти комментарии и замечания сделали ее известной в мире науки, а заодно и ввели в историю.
В одном из своих примечаний она самостоятельно написала первую в истории человечества компьютерную программу — алгоритм, представляющий собой список операций для вычисления чисел Бернулли.
Предвосхищая “этапы” компьютерного программирования, Ада Лавлейс, так же как и современные математики, начинает с постановки задачи, затем выбирает метод вычисления, удобный для программирования, и лишь затем переходит к составлению программы.
“Примечания” Лавлейс заложили основы современного программирования. Одним из важнейших понятий программирования служит понятие цикла, которому она дает следующее определение:
“Под циклом операций следует понимать любую группу операций, которая повторяется более одного раза”.
Организация циклов в программе значительно сокращает ее объем. Без такого сокращения практическое использование аналитической машины было бы нереальным, т. к. она работала с перфокартами, и требовалось бы огромное их количество для каждой решаемой задачи.
«Можно с полным основанием сказать, Аналитическая машина точно так же плетет алгебраические узоры, как ткацкий станок Жаккарда воспроизводит цветы и листья»
– писала графиня Лавлейс. Она была одна из немногих, кто понимал, как работает машина и каковы ее перспективы.
Уже в то время Ада Лавлейс отдавала себе полный отчет в колоссальных возможностях универсальной вычислительной машины.
Вместе с тем она прекрасно понимала границы этих возможностей:
“Желательно предостеречь против преувеличения возможностей аналитической машины. Аналитическая машина не претендует на то, чтобы создавать что-то действительно новое. Машина может выполнить все то, что мы умеем ей предписать. Она может следовать анализу; но она не может предугадать какие-либо аналитические зависимости или истины. Функции машины заключаются в том, чтобы помочь нам получить то, с чем мы уже знакомы”.
Вместе с тем уже в 40-х годах 19 века она разглядела в машине то, о чем боялся думать ее изобретатель Бэббидж: «Суть и предназначение машины изменятся от того, какую информацию мы в нее вложим. Машина сможет писать музыку, рисовать картины и покажет науке такие пути, которые мы никогда и нигде не видели».
В своей первой и, к сожалению, единственной научной работе Ада Лавлейс рассмотрела большое число вопросов, актуальных и для современного программирования. Примечания графини Лавлейс к книге Луиса Менебреа занимают всего 52 страницы. Собственно, это все, что оставила Ада Лавлейс для истории. Но эта краткость — сестра огромного таланта. Даже 52 страницы могут перевернуть окружающий мир до неузнаваемости.
В середине 70-х гг. 20-го столетия министерство обороны США официально утвердило название единого языка программирования американских вооруженных сил. Язык носит название Ada.
С недавнего времени у программистов всего мира появился свой профессиональный праздник. Он так и называется — «День программиста» — и празднуется 10 декабря. Как раз в день рождения Ады Лавлейс.
P.S. Статья закончилась, но можно еще прочитать:
От счета на пальцах к арифмометрам
Аналитическая машина Бэббиджа как прообраз первого компьютера
Экскурсия в Политехнический музей Москвы
Появилась первая ЭВМ
Пользовательский рейтинг компьютерных программ
P.P.S. Чтобы подписаться на получение новых статей, которых еще нет на блоге: 1) Введите Ваш e-mail адрес в эту форму: 2) На Ваш e-mail придёт письмо для активации подписки. Обязательно кликните по указанной там ссылке, чтобы подтвердить добровольность своей подписки: подробнее с видеоуроком
www.compgramotnost.ru
Повелительница чисел, или Кто написал первую в мире компьютерную программу? | Биографии
Первым в мире компьютером считается «Аналитическая машина» Чарлза Бэббиджа, которую он задумал в 1833 году. В отличие от первой разработки Чарлза, «Разностной машины» (1822 год), новый агрегат должен был производить вычисления по заданным извне указаниям. Чарлзу так и не удалось построить такую машину в реальности, в основном из-за недостаточных технических возможностей.
На технологической выставке в 1834 году Бэббидж сделал доклад о своей первой машине, и каково же было его удивление, когда совсем юная девушка забросала его вопросами, показывающими, что она очень хорошо разобралась в устройстве его изобретения… С тех пор началось плодотворное сотрудничество Бэббиджа с его «феей»…
Кто же была эта фея?
Ада Августа Лавлейс, урожденная Байрон, родилась 10 декабря 1815 года в семье поэта лорда Байрона и его жены Анабеллы. Когда девочке было 2 месяца, лорд Байрон покинул семью и никогда больше ребенка не видел.
Анабелла сделала все возможное, чтобы ее дочь никогда не стала поэтессой. Она приложила все усилия, чтобы заинтересовать Аду математикой и музыкой, и вполне в этом преуспела, нанимая дочери выдающихся в то время учителей. Даже во время болезни Ада, на три года потерявшая способность ходить, продолжала свои занятия.
В 1935 году Ада выходит замуж за лорда Кинга, который впоследствии получил титул графа Лавлейса. В течение последующих трех лет у них родилось два сына и дочь, но ни дети, ни муж, ни светская жизнь не могли оторвать Аду от ее любимой математики. Не зря ее называли «Повелительницей чисел»!
Страстность отца передалась ей в полной мере, просто приложение ее выразилось в другой области, области чисел, цифр и функций. В одном из писем к Бэббиджу она писала: «Клянусь Дьяволом, что не пройдёт и десяти лет, как я высосу некоторое количество жизненной крови из загадок вселенной, причём так, как этого не смогли бы сделать обычные смертные уста и умы. Никто не знает, какая ужасающая энергия и сила лежат ещё неиспользованными в моём маленьком гибком существе». Что самое интересное, она оказалась права.
В 1842 году итальянский ученый Луиджи Менабреа познакомился с машиной Бэббиджа и написал ее описание на французском языке. Бэббидж попросил Аду перевести это описание на английский. В процессе перевода Ада добавила свои замечания и пояснения, так что в конце концов ее работа по объему превышала работу Менабреа в два с половиной раза. Она была опубликована в августе 1843 году и содержит 7 примечаний Ады.
В своих примечаниях она описывает возможности вычислительных машин, причем отмечает, что «аналитическая машина представляет собой воплощение науки об операциях, созданной специально для действий над абстрактными числами как объектами этих операций».
Ада вводит такие понятия, как цикл, рабочая переменная, хранилище (память), «мельница» (процессор), а также высказывает абсолютно удивительное для 19-го века заключение — машина не может создать ничего принципиально нового, а только лишь выполнить команды, определенные человеком. Но при этом вычисления — не единственное применение для подобного рода машин, они смогут создавать, например, музыку, считала Ада.
Кроме того, она написала три программы (решение системы двух линейных алгебраических уравнений с двумя неизвестными; вычисления значений тригонометрической функции с многократным повторением заданной последовательности вычислительных операций; вычисление чисел Бернулли).
В 1978 году в Дубне на вычислительной машине БЭСМ-6 был произведен эксперимент — программа Ады была закодирована на Фортране. При отладке была найдена всего одна ошибка и одна опечатка, кроме того, ее программа требовала минимального количества перфокарт и обеспечивала экономию памяти!
Ада Лавлейс умерла в 36 лет, как и ее отец, и была похоронена в фамильном склепе рядом с ним. Ее работы были на какое-то время забыты, однако с началом развития компьютеров и компьютерного обеспечения ее имя всплыло из небытия. В 1980 в США был разработан язык программирования АДА, названный в честь графини Лавлейс, первой программистки в мире, а день ее рождения, 10 декабря, отмечается во всем мире как День программистов.
shkolazhizni.ru
Первые программы и программисты | Открытые системы. СУБД
На вопрос, кто раньше всех построил электронный компьютер, ответ дал судебный процесс, состоявшийся в 1973 году, – «Атанасов против Эккерта и Мочли», хотя, по сути, его стоило бы называть Honeywell против Sperry Rand. Он закончился в пользу Атанасова, а Эккерта и Мочли лишили патента, после чего первым компьютером формально оказалось устройство ABC (Atanasoff–Berry Computer), спроектированное Атанасовым вместе с Клиффордом Берри. Однако это судебное решение вызывает внутренний протест, поскольку даже при самом поверхностном знакомстве с делом становится ясно, что разбирательство было стимулировано поборниками свободы компьютерной индустрии от патентных ограничений.
Какими бы аргументами ни старались доказать первенство Атанасова и Берри, элементарная логика отказывает признать именно их детище предком современных компьютеров – ABC имеет к нынешним компьютерам примерно такое же отношение, как неандерталец к современному человеку. ABC есть не что иное, как параллельная ветвь эволюции, закончившая свое существование, факт в истории, и не более. Лично Джон Атанасов ни в чем дурном не замечен, он никогда прежде не претендовал на первенство, более того, как добросовестный ученый, сам признал, что математической основой вычислительного устройства ABC стали идеи, почерпнутые у отечественного математика Михаила Филипповича Кравчука (1892-1942), погибшего в ГУЛАГе. Атанасов просто перевел с русского его двухтомный труд и прислал благодарственное письмо, но к тому моменту, когда оно пришло, высокочтимый им ученый уже был на Колыме. Память о Кравчуке сейчас восстанавливается, теперь стало известно, что он автор почти 200 научных работ, но, пожалуй, самым весомым свидетельством заслуг Кравчука может служить его научная школа. В числе его учеников основоположники ракетной техники Сергей Королев и Владимир Челомей, а также конструктор авиационных двигателей Архип Люлька. Возможно, имеет право на жизнь гипотеза о существовании еще не выявленной связи между научным наследием Кравчука, работавшего на Украине, и первым советским компьютером МЭСМ, который был создан под руководством Сергея Лебедева в послевоенном Киеве, а не в главных научных центрах Москвы или Ленинграда, что было бы естественнее.
Удивительно, но вопрос относительно первой в современном смысле программы разрешается гораздо проще – кто и когда ее написал, не вызывает сомнения. Том Килбурн – автор самой первой программы, один из разработчиков машины SSEM (Small Scale Experimental Machine), которую еще называли The Baby (1948). Манчестерский «Бэби» был первым программируемым компьютером, поэтому вполне естественно, для него и была написана первая программа. Справедливости ради, следует заметить присутствие в названии слова «экспериментальный», так оно и было: SSEM использовалась как стенд для оценки возможности применения электронно-лучевых трубок в качестве памяти, а настоящим, первым полноценным программируемым компьютером оказался английский EDSAC (1949). Дэвид Уилер не только написал для EDSAC первые программы, но и был основным автором первого учебника по программированию.
Главные события компьютерной истории развернулись за океаном, но англичанам не случайно удалось на пару лет опередить американцев в создании программируемых компьютеров – именно здесь имелась необходимая база из электронных компонентов, теоретических наработок и практического опыта создания специализированного компьютера Colossus, использованного для расшифровки вражеских радиограмм. Теоретическими предпосылками англичане обязаны Алану Тьюрингу, и не следует забывать, что самая передовая на тот момент электроника создавалась для радиолокации, а радар, как известно, был изобретен в начале прошлого века в Англии, и именно англичане были пионерами в радиолокационной технике для обнаружения летящих целей.
База была, к тому же по окончании Второй мировой войны Великобритания странным образом стремилась забыть военное прошлое: по необъяснимой причине уничтожили и засекретили Colossus, закрыли различные учреждения, созданные для решения актуальных в военное время задач, следствием всего этого стала массовая миграция специалистов из оборонной сферы в университеты. Наиболее продвинутые ученые сконцентрировались в нескольких граждански центрах по разработке компьютеров, прежде всего в лабораториях при Манчестерском и Кембриджском университетах – эти две группы и стали лидерами. Кроме этого, в Национальной физической лаборатории, в Бирбекском колледже в Лондоне и еще в нескольких учебных заведениях развернулись работы по компьютерной тематике.
Компьютеры из Манчестера
В период с 1946-го по 1948 год в Манчес-терский университет пришли несколько выдающихся персонажей, в итоге здесь собралась ударная команда, включавшая основного разработчика Colossus Макса Ньюмана, его коллегу-математика Джека Гуда, а также Фредди Уильямса и Тома Килбурна – двух инженеров, ранее разрабатывавших радары, они-то и стали основными создателями SSEM. На последней фазе к ним присоединился Алан Тьюринг. Радарное прошлое Уильямса и Килбурна привело к выбору к качестве главного компонента SSEM иконоскопа?– электронно-лучевой трубки, изобретенной в 1923 году русским инженером Владимиром Зворыкиным (1888-1982). Не исключено, что раньше них идею использования трубки в качестве запоминающего устройства выдвинул Преспер Эккерт, есть мнение, что Уильямс встречался с ним в 1946 году на лекциях в США. Как бы то ни было, но в конце того же года Уильямс подал патентную заявку, где изложил принцип запоминающего устройства на ЭЛТ, поэтому иногда такие устройства называют «трубками Уильямса».
Принцип действия трубки в качестве памяти достаточно прост. Электронный луч, сканируя поверхность экрана, не только вызывает вспышки тех точек, куда подается заряд, но и оставляет их заряженными на 0,2 секунды. Это явление можно использовать как для формирования изображения, так и для хранения данных, если непрерывно регенерировать изображение, считывать состояние точек и производить в них запись. Реальная процедура сложнее, запись ведется в форме точек и тире, учитывая, что считывающий луч нарушает запись, ее необходимо восстанавливать и т.д. Все это преодолимые препятствия, но общей слабостью любых запоминающих устройств на ЭЛТ остается органически присущие им ошибки, из-за особенностей фосфорного покрытия иногда биты теряются, но реальной альтернативы им не было, и трубки применялась в качестве запоминающих устройств для ЭВМ вплоть до конца 50-х годов, когда индустрия перешла на ферритовую память. Трубки в качестве запоминающих устройств использовал и Джон фон Нейман в своем компьютере IAS (1952), они применялись в серийных машинах, например в «оборонном калькуляторе» IBM 701 и его гражданских аналогах IBM 702 и IBM 650, в первом серийном отечественном мэйнфрейме «Стрела» (1953).
На принципах, проверенных в SSEM, было построено несколько выдающихся компьютеров первого поколения. Выше представлена блок-схема этой машины, и несложно заметить, что она заметно отличается от архитектуры фон Неймана – простота объясняется решаемой целью, ведь это не прибор для расчетов, а стенд для проверки гипотезы.
Память «Бэби» состояла из 32 слов по 32 бит (матрица на экране), то есть ее емкость была равна 1 Кбайт, и предназначалась она для хранения команд, данных и результатов. Кроме ЭЛТ в логике машины использовались 300 диодов и 280 пентодов. Весогабаритные параметры этого «Бэби», как у небольшого грузовика: длина более 5 м, высота более 2 м, вес около тонны. Количество команд – 7: безусловный переход, несколько команд управления регистрами, вычитание и остановка, а формат команды близок к одноадресному.
Первая программа насчитывала 17 команд, и ее написал Килбурн весной 1948 года, а выполнена она была впервые 21 июня того же года. Этот день можно считать днем рождения программирования. Программа находила наибольший делитель для числа 218 (262 144) перебором, вычитая по 1 от 218?1 и далее. Деление выполнялось повторением вычитания. За 52 минуты SSEM выполнила 3,5 млн операций и получила очевидный ответ – 13 1072. Программа использовала 8 слов в качестве рабочей памяти, то есть всего потребовалось 25 слов. Усовершенствования в первую программу вносили Джем Тутилл и Алан Тьюринг. Никаких листингов в отсутствие печатающих устройств быть не могло, единственный оставшийся документ – листок из записной книжки Тутилла. Экран трубки был открыт, и можно было наблюдать за изменением состояния видимой на экране матрицы. Фредди Уильямс записал позже: «Когда мы увидели, как прекратилось бешеное мигание и на экране остался ожидаемый результат, пришло осознание значения сделанного, впереди просматривалось большое будущее». Оно действительно не заставило себя ждать – уже в августе начались работы по созданию второй экспериментальной машины Manchester Mark 1, которая была сделана в рекордно короткий срок – с августа 1948-го по апрель 1949 года. В 1998 году торжественно отмечалось пятидесятилетие SSEM, к этой дате была построена ее работающая копия, которая сейчас находится в манчестерском Музее науки и промышленности.
Машина Manchester Mark 1, или Manchester Automatic Digital Machine (MADM), в июне 1949 года без сбоев проработала 9 часов, выполняя программу поиска наибольшего обнаруживаемого числа в последовательности простых чисел Мерсенна. Несмотря на очевидные ограничения, этот компьютер стал поводом для многочисленных спекуляций о возможностях электронного мозга и всякого рода аналогичных заблуждений. С практической же точки зрения существенно то, что MADM стала прототипом для Ferranti Mark 1 (1951). Этот компьютер иногда называют первым коммерческим универсальным, что спорно, поскольку Мочли и Эккерт, перейдя в Remington Rand, в том же году выпустили UNIVAC 1, который стал по-настоящему серийным изделием и был выпущен в количестве 40 экземпляров. Влияние Manchester Mark 1 обнаруживается и в компьютерах IBM 701 и 702, эта корпорация в массовом количестве производила электромеханические табуляторы на перфокартах и с небольшим опозданием включилась в гонку за создание мэйнфреймов первого поколения.
Уильямс и Килбурн совместно разработали еще один компьютер – Meg, в составе которого появился процессор для выполнения операций над числами в формате с плавающей запятой. После него Уильямс потерял интерес к компьютерам и занялся разработкой автоматических трансмиссий для автомобилей, одна из их версий была установлена в его собственной машине. Килбурн продолжил начатое дело, и под его руководством были построены еще две экспериментальные модели – Muse и MU5, ставшие прототипами для серийных Ferranti Atlas и ICL 2900.
Кембридж и EDSAC
Часто первым компьютером с хранимой программой называют EDSAC (Electronic Delay Storage Automatic Calculator – «автоматический электронный калькулятор с памятью на линиях задержки»). Это утверждение не лишено смысла, но с уточнением – это хронологически первый компьютер, построенный по схеме фон Неймана. Он был построен на три месяца раньше, чем EDVAC, с которого фон Нейман «списал» схему, получившую его имя. В 1945 году он вместе с Германом Гольдшейном, невзирая на других авторов, выпустил документ First Draft of a Report on the EDVAC, в котором описал принцип действия компьютера с памятью, способной хранить программы и данные. Поступок, прямо скажем, сомнительного свойства, но свое действие он возымел: экземпляры документа попали в несколько лабораторий в разных странах, и их использовали непосредственно как руководство для создания компьютеров. В отличие от большинства своих «сводных братьев» EDVAC отличался добросовестностью конструкции, он мог работать по 20 часов в сутки и прожил вплоть до 1961 года, претерпел ряд модернизаций, был доукомплектован магнитным барабаном и процессором вещественной арифметики.
И все же EDVAC был вторым, а первым в мае 1949 года заработал EDSAC, и с него пошла волна создания аналогичных систем, начавшаяся с австралийского компьютера CSIRAC (ноябрь 1949 года). Тем временем Джон фон Нейман продолжил популяризацию своих и чужих идей, работая в Институте перспективных исследований (Institute for Advanced Study, IAS), где под его руководством вышла книга «Предварительные исследования по логическому проектированию электронных счетных инструментов». Описанная в ней архитектура получила название IAS – так было положено начало Open Source. Для создания компьютеров хватало общераспространенных тогда радиодеталей, поэтому для многих университетов и лабораторий открывалась возможность собирать их собственными силами. По архитектуре IAS было построено почти два десятка машин: JOHNNIAC (корпорация Rand), ILLIAC I (Университет штата Иллинойс), MANIAC I (Национальная лаборатория в Лос-Аламосе). Строили такие машины в Швеции (BESK, Стокгольмский университет) и в Израиле (WEIZAC, Институт Вейцмана). В ряд IAS-подобных машин попадает и отечественная БЭСМ.
Создание EDSAC прочно ассоциируется с именем Мориса Уилкса. Сегодня ему 96 лет, и, вероятно, он старейший из ныне живущих компьютерных патриархов. Уилкс начинал с работы на механическом дифференциальном анализаторе в 1937 году и долгое время оставался единственным сотрудником Математической лаборатории Кембриджского университета. В мае 1946 года ему попал в руки привезенный от фон Неймана отчет по EDVAC, увлекший его настолько, что в отсутствие копировальных машин он переписал его от руки. Затем ему удалось посетить Муровскую школу при Пенсильванском университете, где создавался EDVAC, и прослушать там цикл лекций. В отличие от Мочли и Эккерта, Уилкс умудрялся использовать доступные ему средства, и это оказалось неплохим решением – он смог обогнать своих учителей. Его бюджет был намного меньше, и он не мог позволить себе исследования в поисках новых решений для памяти и электронных компонентов. Используемые в SSEM трубки были ему недоступны, поэтому Уилкс остановил свой выбор на ртутных акустических линях задержки, кроме того, аналогичная система была использована в EDVAC. Мысль об использовании линий задержки в памяти, или, иначе, ультразвуковой памяти, принадлежит Эккерту, а оттуда она перешла в UNIVAC 1. До этого линии задержки применялись в радарах для фильтрации помех и выделения движущих объектов. Если входной сигнал задержать и подать на экран позже и с обратной полярностью, то можно подавить статические изображения. Есть несколько решений для этой технологии, и наибольшее распространение получили ртутные линии с пьезокристаллическим преобразователем, состоящим из излучателя и приемника. В линиях задержки использовали еще металлическую проволоку c магнитострикционными преобразователями. Такие преобразователи вызывали в проволоке механические колебания, аналогичные звуковым. Проволочные магнитострикционные линии задержки прожили дольше, чем ртутные, они существенно проще во всех отношениях, например, их устанавливали в электронные клавишные вычислительные машины «Электроника-155». В ртутной линии передатчик посылал импульс в среду, возникали ультразвуковые колебания ртути, приемник их считывал и с задержкой восстанавливал полученный импульс. В приложении к компьютеру Эккерт прибавил к обычной линии повторитель, возвращающий сигнал на вход. В отличие от радаров, в линиях, предназначенных для памяти, передается последовательность сигналов, условно говоря слово, и, чтобы выделить нужный бит, требуются соответствующие синхроимпульсы. Скорость работы и емкость акустического запоминающего устройства взаимосвязаны, они зависят от свойств среды и длины трубки – в ртути скорость звука почти на порядок выше, чем в воздухе, поэтому и выбрали ее в качестве среды. Память EDSAC имела 512 слов длиной по 35 бит, для этого достаточно иметь 32 линии задержки, каждая из которых хранит по 576 бит (36-й бит в слове использовался как служебный).
Отличительной особенностью проектирования ЭВМ, подобных EDSAC, было то, что основные усилия создателей были сосредоточены не на логике или архитектуре, а на преодолении физических проблем, связанных с несовершенством элементной базы. Не меньшую сложность создали примитивные и медленные устройства ввода и вывода. Уилксу все эти барьеры удалось преодолеть, и в итоге получилась довольно складная машина, на разработку которой ушел примерно миллион современных долларов, что совсем немного, если учесть неподготовленность инфраструктуры. EDSAC совершенствовался в процессе своего существования, причем иногда довольно неожиданно. Например, оказалось, что в исходной системе команд не было безусловного перехода.
Проект EDSAC не был бы так успешен, если бы в нем не принял участие Дэвид Уилер, человек, которого можно вполне заслуженно назвать первым профессиональным программистом. Свою знаменитую книгу (1951), первый в истории учебник по программированию «Подготовка программ для электронного цифрового компьютера» (The Preparation of Programs for an Electronic Digital Computer), он написал в соавторстве с Морисом Уилксом и Стэнли Джилом. Уилер всю жизнь, за исключением нескольких лет преподавания в Университете штата Иллинойс и Калифорнийском университете в Беркли, проработал в Кембриджском университете. Начал он с того, что заменил двоичную запись команд символической и назвал эту форму «инициалами команд» (initial orders), его язык был прообразом будущих языков ассемблера, где инициалы обозначали коды команд, идентификаторы служили символическими адресами, и имелась процедура трансляции. И еще одно очень, казалось бы, простое изобретение – Wheeler Jump, то есть прыжок Уилера, представляющий собой вызов подпрограммы, существующей в виде отдельной функции с параметрами или без.
Уилеру принадлежит несколько популярных афоризмов, самый известный из них: «Любая проблема в компьютерной науке может быть решена путем перехода на следующий уровень абстракции. Однако при этом создаются новые проблемы». В то время когда Уилер писал эти слова, в основном имелась в виду косвенная адресация, сегодня их вполне можно отнести и к виртуализации.
Наследники Дифференциальной и Аналитической машины Бэббиджа
Третий известный британский проект – Automatic Computing Engine (ACE), которым поначалу руководил Тьюринг. Использование в названии слова Engine – дань памяти дифференциальной и аналитической машинам Чарьза Бэббиджа. Теоретической предпосылкой к проекту, осуществлявшемуся в математическом отделении Национальной физической лаборатории была работа Тьюринга Proposed Electronic Calculator (1936). Свой проект он предложил к обсуждению в начале 1946 года, а первая фаза проекта проходила в обстановке повышенной секретности, сохранившейся со времен Colossus, поэтому она в основном носила теоретический характер. Более того, до работы на ACE не допустили Томми Фоулера, основного разработчика Colossus, который имел опыт создания электронно-механического устройства большой сложности. Поэтому группе Тьюринга не хватило практической экспертизы, и решили ограничиться усеченной (пилотной) версией Pilot ACE. Этот компьютер заработал в мае 1950 года. Непосредственными преемниками Pilot ACE стали компактный компьютер G-15 от Bendix Corporation, его иногда называют первым ПК, и серия из 30 компьютеров DEUCE (Digital Electronic Universal Computing Engine) компании English Electric. Ни та, ни другая больше компьютерами не занимались.
Первые программисты Страны Советов
Порой кажется, что утверждение «история не имеет сослагательного наклонения» придумали для оправдания. По крайней мере, если бы тем, кто создавал первые образцы вычислительной техники и программ, дали возможность нормально работать, страна, возможно, бы не оказалась в нынешнем положении.
Первые шаги в программировании на территории бывшего СССР были сделаны в Киеве и Москве, где почти синхронно и независимо друг от друга создавались машины МЭСМ и М-1. Последующая затем эволюция этих двух школ проектирования ЭВМ удивительно точно отражает личные особенности двух выдающихся ученых: Сергея Лебедева и Исаака Брука. Неоднократно отмечалась в отдельных случаях буквально мистическая схожесть их судеб, не признать ее нельзя, но и противоположностей в их жизненных путях тоже немало. Лебедев был в большей степени органичен по отношению к системе советской науки и получал поддержку со стороны властей и Академии, в 1945 году он был избран в АН Украины, а в 1953-м стал действительным членом АН СССР. В 1950 году его пригласили в Москву в Институт точной механики и вычислительной техники (ИТМиВТ), деятельности которого Лебедев придал новый импульс. Напротив, Брук плохо вписывался в систему, хотя и раньше Лебедева обрел академические регалии, ученая степень кандидата технических наук была присвоена ему без защиты диссертации еще в мае 1936 года, а в октябре того же года он защитил докторскую диссертацию. В 1939 году в возрасте 37 лет Брук выступил на заседании президиума Академии наук с докладом о созданном им в Энергетическом институте АН СССР электромеханическом интеграторе, позволявшем решать дифференциальные уравнения до шестого порядка, за что его избрали членом-корреспондентом АН СССР. Во время Великой Отечественной войны Брук предложил синхронизатор, позволяющий авиационной пушке стрелять через вращающийся винт самолета, так он стал действительным членом Академии артиллерийских наук. В 50-е годы им был создан Институт электронных управляющих машин (ИНЭУМ), и, казалось бы, впереди звание академика. Однако интересы ученого вышли за технические рамки, и, основываясь на результатах нобелевских лауреатов Леонида Канторовича и Василия Леонтьева, Брук опрометчиво открыл в ИНЭУМе направление, связанное с применением математических методов и вычислительной техники для решения экономических задач на государственном уровне, итогом чего стал его вынужденный уход в 1964 году с поста директора.
От макетной до малой счетной машины
МЭСМ, как и британская SSEM, задумывалась как макет, поэтому изначально называлась Модельная Электронная Счетная Машина. Но в отличие от SSEM макет оказался вполне работоспособным, и написанные для него первые в отечественной истории программы почти с самого начала имели прикладное значение. Машина была собрана под руководством Лебедева в специально созданной для этой цели лаборатории, располагавшейся в двухэтажном здании (некоторое время там была психиатрическая лечебница) на территории Свято-Пантелеймоновского монастыря. Сегодня вряд ли можно с достаточной достоверностью сказать, почему именно в Киеве была построена первая советская ЭВМ и почему до 1956 года, до того как их возглавил Виктор Глушков, работы в этом направлении прекратились и были переданы в Москву. Однако есть информация к размышлению. Вот выдержка из газетного варианта доклада, сделанного А.Г. Марчуком, директором Института систем информатики СО РАН имени А.П. Ершова, «Роль М.А. Лаврентьева в становлении отечественной техники»: «Возможно, к окончательному решению заняться разработкой цифровой ЭВМ С.А. Лебедева подтолкнул М.А. Лаврентьев. Такое мнение высказывали Глушков, Крейн (запрограммировавший совместно с С.А. Авраменко первую задачу для МЭСМ) и О.А. Богомолец. Последний в 1946-1948 годах несколько раз бывал в Швейцарии и, будучи заядлым радиолюбителем, собирал проспекты и журналы с сообщениями о цифровых вычислительных устройствах. Приехав в Киев летом 1948 года, он показал журналы Лаврентьеву, а тот – Лебедеву... Интрига заключается в том, что Швейцария после войны арендовала третий вариант компьютера известного немецкого пионера вычислительной техники Конрада Цузе. Это наводит на мысль, что передаваемые С.А. Лебедеву материалы могли содержать не только рекламную информацию об английских и американских компьютерах, но и более содержательную, о немецкой Z-4... Слабым подтверждением этой гипотезы является то, что, по утверждению А.Н. Томилина, ближайший ученик Лебедева, академик В.А. Мельников, в восьмидесятые годы активно интересовался творчеством Цузе».
Может сложиться впечатление, что создание машины – это чуть ли не личная инициатива Лаврентьева, Лебедева и Богомольца, и если бы это случилось не в СССР, то можно было бы этому поверить, но на Украине и в условиях послевоенной разрухи? Что здесь не так и чего стоит упоминание визитов Олега Богомольца, сына Александра Богомольца, президента Академии наук Украины до 1946 года, в Швейцарию? Нетрудно догадаться, кто и зачем в те времена ездил в Швейцарию. И какие журналы и проспекты можно было купить в послевоенные годы, да и вообще, о какой рекламе компьютеров можно говорить? Есть документ «Протокол №1 заседания закрытого ученого совета Института электротехники и теплоэнергетики АН УССР от 8 января 1951». На этом заседании, представляя МЭСМ, Лебедев сказал: «Я имею данные по 18 машинам, разработанным американцами, эти данные носят характер рекламы, без каких-либо сведений о том, как машины устроены. В вопросе постройки счетных машин мы должны догонять заграницу, и должны это сделать быстро. По данным заграничной литературы, проектирование и постройка машины ведется 5-10 лет, мы хотим осуществить постройку машины за 2 года».
Начав в октябре 1948-го с нуля, коллективу Лебедева удалось через три года, 6 ноября 1950 года, осуществить пробный запуск машины. На МЭСМ работали программы вычисления суммы нечетного ряда факториала числа и возведения в степень. Пуск МЭСМ в эксплуатацию был осуществлен 25 декабря того же года. На этот раз на машине решались реальные задачи вычисления функций распределения вероятностей. Дата запуска МЭСМ регламентировалась специальным постановлением правительства, все работы осуществлялись в обстановке строгой секретности. 12 января 1952 года началось выполнение заказов по расчетам. Осенью 1952-го на МЭСМ были выполнены расчеты генераторов Куйбышевской ГЭС.
Первые программы для МЭСМ были написаны С.Г. Крейном и С.А. Авраменко, ни тот, ни другой впоследствии не связали свою профессиональную деятельность с программированием. Крейн стал профессором Воронежского государственного университета, заместителем директора по научной работе НИИ математики при этом университете, и вместе с коллегами М.А. Красносельским и В.И. Соболевым создал воронежскую школу функционального анализа. О дальнейшей судьбе Авраменко известно меньше, есть лишь воспоминания о том, что он был начальником Математического сектора в КБ-11 (Арзамас-16, ныне Саров).
Лев Дашевский и Екатерина Шкабара, основные помощники Лебедева, в своей книге «Как это начиналось» вспоминают: «Первая пробная задача была выбрана из области баллистики с весьма существенными упрощениями (не учитывалось сопротивление воздуха). Программа была составлена работавшими с нами математиками С.Г. Крейном и С.А. Авраменко. При этом контрольный расчет был выполнен ими непосредственно в двоичной системе, что обеспечило возможность проверки машины по циклам и по тактам, наблюдая по сигнализации пульта управления за правильностью выполнения программы». Вскоре после этого на МЭСМ решали задачи из области термоядерных процессов, космических полетов, ракетной техники и др.
Родом с Калужской заставы
В начале 1947 года произошло событие, имевшее серьезные последствия. Академик Аксель Берг, в ту пору директор Центрального научно-исследовательского института радиолокации (ЦНИИ-108), свел вместе Исаака Брука и своего сотрудника Башира Рамеева, которых объединял общий интерес к созданию собственного аналога машины ENIAC Мочли и Эккерта. По одним легендам, Рамеев узнал о компьютере, слушая радио BBC, по другим – Брук, будучи артиллерийским академиком, знал о том, что американцы построили машину для расчета таблиц для стрельб, но, как бы то ни было, Рамеев перешел из ЦНИИ-108 в ЭНИН (Лабораторию электросистем Энергетического института АН СССР), руководимую Бруком. Лаборатория находилась в двух расположенных друг напротив друга жилых домах по Большой Калужской, позже переименованной в Ленинский проспект. За несколько месяцев Брук и Рамеев разработали проект цифровой электронной вычислительной машины без хранимой в памяти программы и в декабре 1948 года послали заявку на изобретение «Автоматическая цифровая машина» и получили авторское свидетельство. Постановление президиума АН СССР о разработке М-1 было принято в апреле 1950 года, а уже в январе 1952 года (менее чем через месяц после сдачи МЭСМ) началась ее практическая эксплуатация.
Летом 1952 года началась комплексная отладка машины, включавшая в себя выполнение арифметических и логических операций по программе, в автоматическом режиме. Разработчик устройства ввода/вывода Александр Залкинд написал самые первые программы для М-1. Одной из них было решение уравнения параболы, задача примечательна тем, что в процессе ее решения получались одинаковые значения для оси Y как для положительного, так и для отрицательного значений X. Сравнивая симметричные значения результатов, можно было определить правильность работы машины. Второй программой было решение уравнения у=1/х. По воспоминаниям Залкинда, одним из первых больших ученых, проявивших интерес к М-1, был академик Сергей Соболев, руководивший математическим обеспечением атомного проекта. Для решения одной из задач требовалось провести обращение матриц большой размерности, что и было выполнено на М-1, собранной почти из тысячи электронных ламп-пентодов. Сотрудничеству Соболева с создателями следующей модели М-2 помешал эпизод, случившийся на выборах в действительные члены АН СССР по Отделению физико-математических наук (как тут не вспомнить параллельность судеб). На одно место претендовали Лебедев и Брук, решающим стал голос Соболева, отданный им за первого из двух кандидатов. После этого Брук отказался предоставить МГУ, где работал Соболев, машину М-2, созданную в ЭНИН. Тогда Соболев принял решение разработать ЭВМ силами сотрудников университета, в конечном итоге это привело к тому, что Николай Брусенцов создал машину «Сетунь» с трехзначной логикой.
Выходцы из ЭНИН стали основателями нескольких известных предприятий. Рамеев перешел под начало Юрия Базилевского в Специальное конструкторское бюро № 245 при московском заводе САМ для участия в разработке ЭВМ «Стрела», а через несколько лет на базе СКБ-245 был создан НИИ электронных машин (НИЭМ). Группа в составе Николая Матюхина, Александра Залкинда и еще нескольких сотрудников перешла в НИИ-101 (НИИ автоматической аппаратуры Минрадиопрома), чтобы разрабатывать системы управления ПВО.
Блок-схема компьютера SSEM
Первое поколение, первые шагиЗабытые компьютеры первого поколения были намного ближе к современности, чем это можно предположить.
Colossus, победивший LorenzВ первой половине XX века было выпущено невероятное множество типов самых разнообразных механических шифраторов. Их производили в СССР, Японии, США, Великобритании и в ряде других стран.
www.osp.ru
Ада Лавлейс. Первая в мире программа и взгляд в будущее / Хабр
10 декабря 1815 года на свет появилась Ада Лавлейс, большинству из нас известная как самый первый в мире программист. Так уж получилось, что это звание принадлежит представительнице прекрасного пола. Сегодня исполняется двести один год со дня рождения этого человека. И в этом посте я бы хотел немного рассказать о самых интересных моментах из ее жизни, не отделываясь обрывочными фразами, но и не слишком уж углубляясь в детали. Материал можно найти, где угодно, имея под рукой Интернет. Однако мало кто полезет искать его просто ради интереса. Поэтому кому интересно, добро пожаловать под кат. Учась в школе, сидя на уроках литературы, я прекрасно знал, кто такой Джордж Байрон.
Мы читали и по желанию заучивали его стихотворения. Спустя время, выбрав себе профессию я узнал о том, кем была загадочная Ада Лавлейс – первая девушка-программист, дочь того самого лорда Джорджа Байрона. Тогда для меня это оказалось удивительным открытием. Я на всю жизнь запомнил, кем была Ада и, как-то совсем незаметно для самого себя, забыл о самом Байроне.Августа Ада Кинг (впоследствие графиня Лавлейс, но об этом чуть позже) – была дочерью английского поэта лорда Джорджа Гордона Байрона и его жены – Анны Изабеллы Байрон. Однако Байрон спустя месяц после рождения своей дочери покинул их, и они больше никогда не виделись. Сам Байрон умер, когда Аде было восемь лет. Сам он еще не раз вспоминал свою дочь в своих стихах.
Видно, что Ада сама росла в довольно талантливой семье. Ее мать, Анна Изабель, еще до рождения дочери сильно интересовалась математикой, за что когда-то получила от мужа забавное прозвище – “королева параллелограммов”. Это была действительно необычная семья. Анне после ухода мужа все же удалось воспитать дочь в одиночку и вот что из этого получилось.
В двенадцать лет Ада собрала свой летательный аппарат! До этого двенадцатилетняя девочка некоторое время запиралась от матери в комнате и что-то писала. Мать боялась, что она начнет зачитываться стихами отца и пойдет той же дорогой. Однако все это время она чертила.
Математическая логика занимала ее больше всего остального. Однажды Ада заболела и три года провела в постели. Но все это время она хотела и продолжала учиться. К ней приходили самые разные доктора и учителя. Одним из них был Август де Морган – известный математик и логик (да-да, закон де Моргана назван в его честь). С тех пор Ада еще больше погрузилась в мир математики.
В итоге Ада выросла уникальной девушкой. Она была красива и умна, точно также как и ее мама занималась математикой, а в разговорах на научные темы обходила даже ребят из Кембриджа и Оксфорда. Среди других людей, в основном женского пола, это вызвало скрытую злость и зависть. О ней нередко говорили как о чем-то темном, даже дьявольском. Надо сказать, что Ада и сама в себе чувствовала необычные силы (забавно, но на русском ее имя звучит и правда немного дьявольски). Но в этом нет ничего необычного, так как девушка-математик в высшем английском обществе того времени – со стороны это действительно выглядело странно. А многие мужчины меж тем были от нее без ума.Математика математикой, но как же так вышло, что помнят о ней в первую очередь именно программисты? Одной из самых судьбоносных встреч Ады Лавлейс стала встреча с Чарльзом Бэббиджем – изобретателем первой аналитической вычислительной машины.
В то время, во Франции, куда и прибыл Бэббидж, был развернут крупномасштабный проект по созданию таблиц значений логарифмов и тригонометрических функций. Бэббидж стал мечтать о том, чтобы автоматизировать этот труд, заодно исключив возможные человеческие ошибки, так как в то время именно люди вручную занимались созданием таких таблиц. Так Бэббидж задумался о построении своей разностной машины (вычисление многочлена с помощью разностного метода).Им было создано огромное количество чертежей, а сам прототип закончен в 1832 году, тот самый, который Ада Лавлейс увидит спустя год.
В 1835 году Ада выйдет замуж за очень достойного человека – барона Уильяма Кинга, который впоследствии был удостоен титула графа, а сама Ада стала графиней Лавлейс. Спустя четыре года у них уже было трое детей – два сына и дочь. Сыновьям Ада дала имена в честь отца – одного назвали Ральфом Гордоном, а другого – Байроном.
А как же с той самой первой в мире программой? И какова судьба машины Бэббиджа? В 1842 году итальянский ученый Луис Манебреа напишет книгу о машине Бэббиджа. Ада по просьбе Бэббиджа займется ее переводом. Во время перевода самой книги она сделала огромное количество замечаний, видя в этой машине кажется больше, чем сам Бэббидж.
Вот ее слова: «Суть и предназначение машины изменятся от того, какую информацию мы в нее вложим. Машина сможет писать музыку, рисовать картины и покажет науке такие пути, которые мы никогда и нигде не видели» Алан Тьюринг впоследствие читал ее записи, введя в свои работы термин возражение леди Лавлейс относительно способности машин мыслить.
В то же самое время, при описании машины Бэббиджа именно Ада ввела в обиход такие компьютерные термины как цикл и ячейка. Она также составил набор операций для вычисления чисел Бернулли. Именно это по сути и стало самой первой компьютерной программой. Бэббидж так и не построил свою машину, она была собрана уже после его смерти и сейчас хранится в Музее науки в Лондоне.
Сама Ада Лавлейс умерла 27 ноября 1852 года всего в возрасте 36 лет. Ровно столько, сколько прожил ее отец. Ее похоронили в фамильном склепе вместе с отцом, которого она так и не узнала. В честь Ады Лавлейс был назван разработанный в 1980-х годах Министерством Обороны США язык программирования Ада.
P.S. Наверное, тем людям, у которых фраза “Первым программистом была девушка” вызывает недовольство или улыбку, стоит хотя бы раз поинтересоваться биографией этого человека. О таких людях, как Ада Лавлейс или Алан Тьюринг и о многих других стоит помнить. А для кого-то эти истории еще один повод понять, что в мире нет ничего невозможного.
Спасибо тем, кто прочел эту статью. Делитесь своими мнениями, комментариями или замечаниями).
habr.com
Как написали первую программу без программы для написания программ?
Если коротко, то новые языки программирования и другие инструменты создаются на основе уже существующих. Полная аналогия с другими областями техники, где новые станки и материалы позволяют создавать всё более совершенные станки и материалы. Как все станки начались с палки-копалки и кремниевого рубила, так и языки программирования начались с перфокарт и нечитаемого двоичного кода.
Центральный процессор вашего компьютера понимает только программы, написанные на языке ноликов и единичек. Например, команда «прибавить константу 5 к числу, записанному в регистре AL» записывается так:
0000 0100 0000 0101
Здесь 0000 0100 — код операции «прибавить число к регистру AL», а 0000 0101 — двоичное представление числа 5.
На заре индустрии для ввода программы в компьютер нужно было либо перещёлкнуть сотни тумблеров на специальной панели (тумблер ВЫКЛ — нолик, тумблер ВКЛ — единичка), либо пробить дырочки в специальной перфокарте. Ошиблись в одной ячейке из тысячи — программа будет работать неправильно, будьте добры сами найти ошибку методом пристального взгляда.
Ясно, что такой способ программирования жутко неудобен и подвержен ошибкам. Чтобы не тратить время на это занудство, ленивые программисты начали думать, как переложить неблагодарную работу на машину.
Можно один раз хорошенько помучиться и написать на языке ноликов и единичек вспомогательную программу, которая называется ассемблер («сборщик»). Этот волшебный ассемблер принимает на вход человеко-читаемый текст и преобразует его в нолики и единички. Например, та же самая команда «прибавить константу 5 к числу, записанному в регистре AL» записывается на языке ассемблера x86 так:
ADD AL, 5
Думаю, вы согласитесь, что это всё-таки более читаемо, чем 0000 0100 0000 0101. Здесь хотя бы понятно, что речь идёт о сложении (ADD) и числе 5. Теперь уже дело ассемблера преобразовать эту строчку в 0000 0100 0000 0101. На языке ассемблера сложно писать большие программы, процессоры разных производителей могут требовать разных ассемблеров, но всё равно это был большой шаг вперёд.
Дальше инженерную мысль было не остановить. Нужно один раз помучиться, чтобы написать на ассемблере компилятор языка программирования, например Фортрана. Потом ещё немного помучиться, чтобы написать на Фортране компилятор Алгола. Затем передохнуть, помучиться и написать на Алголе компилятор языка CPL. Ещё немного мучений, и можно на основе CPL написать компилятор языка C. Дальше можно уже не мучиться и в свое удовольствие писать на C компиляторы C++, Java, C# и других современных языков. Впрочем, никто не запретит использовать Java чтобы написать ассемблер x86 и замкнуть рекурсию.
thequestion.ru
Первый в мире программист - 1843 ада августа лавлейс
Ада Августа Лавлейс (August Ada Lovelace) - 1815 - 1852 - первый в мире программист
Фото первого в мире программиста. Ада Августа Лавлейс (August Ada Lovelace)
Фото первого в мире программиста. Ада Августа Лавлейс (August Ada Lovelace)
Ада Августа Лавлейс (August Ada Lovelace) - английский математик, дочь великого английского поэта Байрона.
Родилась в Лондоне 15 декабря 1815 года.
В 1834 г. Ада Августа впервые посетила мастерскую Бэббиджа и познакомилась с его разностной машиной. Миссис де Морган, сопровождавшая Аду, так описала этот визит: "Пока часть гостей смотрела в изумлении на это устройство с таким чувством, с каким, как говорят, дикари первый раз видят зеркальце или слышат выстрел из ружья, мисс Байрон, совсем еще юная, смогла понять работу машины и оценила большое достоинство ее изобретения".
Ада Лавлейс занималась изучением вычислительной машины Чарльза Бэббиджа.
В 1843 году Ада Лавлейс разработала первые программы для аналитической машины вычислительной машины Чарльза Бэббиджа, и заложила теоретические основы программирования. Она впервые ввела понятие "цикл операции". Она высказала главную мысль, что аналитическая машина может решать задачи, которые из-за трудности вычислений практически невозможно решить вручную.
Первая программа включала условную программу управления, изобретенную Баббеджем, повторение циклов операций. Ада написала первый учебник по программированию.
Статья является уникальной собственностью компании «Айтикон-сервис»
01.10.2009
www.itcon-s.com