бесплатно рефераты
 

Язык АДА

Язык АДА

[pic]

Ада Августа Байрон

(Род. 10 декабря 1815 года )

Даже граждане бывшего СССР уже знают, что 10 декабря - День прав

человека, учреждённый ООН в честь принятия в 1948 году Всеобщей

декларации прав человека (в советские времена само существование этой

декларации замалчивалось). Общеизвестно также, что с 1901 года именно 10

декабря вручаются ежегодные Нобелевские премии в память об их учредителе

Альфреде Нобеле, умершем в этот день в 1896 году. Но есть и ещё одно,

менее известное, определение для этой даты, имеющее, однако, самое прямое

отношение к роду занятий многих наших читателей, - 10 декабря названо

Днём программиста в честь родившейся также в этот день первой

представительницы этой не слишком древней профессии Ады Августы Лавлейс,

единственной дочери прославленного английского поэта Джорджа Гордона

Байрона и его супруги Аннабеллы Милбэнк.

Даже граждане бывшего СССР уже знают, что 10 декабря - День прав

человека, учреждённый ООН в честь принятия в 1948 году Всеобщей

декларации прав человека (в советские времена само существование этой

декларации замалчивалось). Общеизвестно также, что с 1901 года именно 10

декабря вручаются ежегодные Нобелевские премии в память об их учредителе

Альфреде Нобеле, умершем в этот день в 1896 году. Порывшись в календарях,

энциклопедиях, справочниках, а также попутешествовав по Интернету, можно

обнаружить, что 10 декабря 1799 года Франция перешла на метрическую

систему мер (в чём за ней до сих пор никак не могут последовать

Соединённые Штаты Америки), в 1828 году был основан Санкт-Петербургский

технологический институт, что в этот день родились русский поэт Николай

Некрасов, американская поэтесса Эмили Диккинсон и украинская писательница

Марко Вовчок, французские писатель Эжен Сю и композитор Цезарь Франк,

британский фельдмаршал Харолд Александер, получивший титул "Тунисский", и

советский "государственный деятель" недоброй памяти Андрей Вышинский,

лауреат Нобелевской премии по литературе шведско-немецкая поэтесса Нелли

Закс, клоун Карандаш, хоккейный тренер Анатолий Тарасов, дирижёр Юрий

Темирканов, литературовед и философ Сергей Аверинцев и многие другие. Но

есть и ещё одно, менее известное, определение для этой даты, имеющее,

однако, самое прямое отношение к роду занятий

многих наших читателей, - 10 декабря названо Днём программиста в честь

родившейся также в этот день первой представительницы этой не слишком

древней профессии Ады Августы Лавлейс, единственной дочери прославленного

английского поэта Джорджа Гордона Байрона и его супруги Аннабеллы Милбэнк.

Ада Августа Байрон родилась 10 декабря 1815 года; родители её расстались,

когда девочке было два месяца, и больше своего отца она не видела. Байрон

посвятил дочери несколько трогательных строк в "Паломничестве Чайльд

Гарольда", но при этом в письме к своей кузине заранее беспокоился:

"Надеюсь, что Бог наградит её чем угодно, но только не поэтическим

даром..." Ещё менее намерена была способствовать развитию у дочери

литературных наклонностей мать, которую в свете за увлечённость точными

науками прозвали "принцессой параллелограммов". Ада получила прекрасное

образование, в том числе и в области математики. К 1834 году относится её

первое знакомство с выдающимся математиком и изобретателем Чарльзом

Бэбиджем (1791-1871), создателем первой цифровой вычислительной машины с

программным управлением, названной им "аналитической".

Машина Бэбиджа была задумана как чисто механическое устройство с возможным

приводом от парового двигателя, но содержала ряд фундаментальных идей,

характерных для современных компьютеров. В ней предусматривалась работа с

адресами и кодами команд, данные вводились с помощью перфокарт. Основы

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

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

опережая не только потребности, но и технические возможности своего

времени. Многие из идей Бэбиджа просто не могли быть реализованы на базе

механических устройств и оказались востребованы только спустя столетие, с

разработкой первых электронных вычислительных машин. Понятно, что

современники относились к работам Бэбиджа как к, по крайней мере,

экстравагантному чудачеству. Супруга известного английского математика того

времени де Моргана, под руководством которого Ада Августа изучала

математику, так описывала их первый визит к Бэбиджу: "Пока часть гостей в

изумлении глядела на это удивительное устройство с таким чувством, с каким,

говорят, дикари первый раз видят зеркальце или слышат выстрел из ружья,

мисс Байрон, совсем ещё юная, смогла понять работу машины и оценила большое

достоинство изобретения". Бэбидж нашёл в Аде не только благодарную

слушательницу, но и верного помощника. Он искренне привязался к девушке,

бывшей почти ровесницей его рано умершей дочери.

В 1835 г. Ада Байрон вышла замуж за Уильяма, восемнадцатого лорда Кинга,

ставшего впоследствии первым графом Лавлейс. (В некоторых русских

публикациях с титулом семейства Лавлейс связывается слово ловелас; это

ошибка: Ловелас - имя героя популярного в начале прошлого века романа

Ричардсона "Кларисса Гарло", ставшее нарицательным для обозначения

волокиты, соблазнителя). Муж не имел ничего против научных занятий супруги

и даже поощрял её в них. Правда, высоко ценя её умственные способности, он

сокрушался: "Каким отличным генералом ты могла бы стать!" Появление детей

на время отвлекло Аду от занятий математикой, но в начале 1841 г. она пишет

Бэбиджу: "Я надеюсь, что моя голова может оказаться полезной Вам в

реализации Ваших целей и планов в течении ближайших трёх-четырёх, а может

быть, и более лет".

По просьбе Бэбиджа, Ада занялась переводом очерка итальянского военного

инженера Луи Фредерико Менабреа (в будущем профессора механики Туринского

университета, одного из лидеров борьбы за объединение Италии, с 1867 г. -

её премьер-министра и министра иностранных дел). Менабреа в 1840 г., слушая

в Турине лекции Бэбиджа, подробно записал их, и в своём очерке впервые дал

полное описание аналитической машины Бэбиджа и его идей программирования

вычислений. Он писал: "Сам процесс вычисления осуществляется с помощью

алгебраических формул, записанных на перфорированных картах, аналогичных

тем, что используются в ткацких станках Жаккара. Вся умственная работа

сводится к написанию формул, пригодных для вычислений, производимых

машиной, и неких простых указаний, в какой последовательности эти

вычисления должны производиться".

Леди Лавлейс не просто перевела очерк Менабреа, но и снабдила его

обширными комментариями, которые в сумме почти втрое превысили объём

оригинального текста. Все комментарии, их общая структура и содержание

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

нетерпимостью к чужому мнению, Бэбидж, тем не менее, был в восторге от

оригинальных проработок

своей ученицы: "Чем больше я читаю Ваши примечания, тем более поражаюсь

Вашей интуиции... Мне не хочется расставаться с Вашим превосходным

философским рассмотрением моей аналитической машины..."

Книга Менабреа с комментариями, подписанными инициалами A. A. L. (Ada

Augusta Lovelace), вышла в свет в августе 1843 года. Отдавая должное обоим

авторам, Бэбидж писал: "Совокупность этих работ (Менабреа и Лавлейс)

представляет для тех, кто способен следовать ходу их рассуждений, наглядную

демонстрацию того, что практически любые операции математического анализа

могут быть выполнены с помощью машины". При этом Бэбидж так до конца и не

примирился с концепцией Ады, которую впоследствии Тьюринг именовал шестым

постулатом противников идеи мыслящей машины: "Аналитическая машина не

претендует на то, чтобы создавать что-то действительно новое. Машина может

выполнять лишь то, что мы умеем ей предписать".

В комментариях Лавлейс были приведены три первые в мире вычислительные

программы, составленные ею для машины Бэббиджа. Самая простая из них и

наиболее подробно описанная - программа решения системы двух линейных

алгебраических уравнений с двумя неизвестными. При разборе этой программы

было впервые введено понятие рабочих ячеек (рабочих переменных) и

использована идея последовательного изменения их содержания. От этой идеи

остаётся один шаг до оператора присвоения - одной из основополагающих

операций всех языков программирования, включая машинные. Вторая программа

была составлена для вычисления значений тригонометрической функции с

многократным повторением заданной последовательности вычислительных

операций; для этой процедуры Лавлейс ввела понятие цикла - одной из

фундаментальных конструкций структурного программирования. В третьей

программе, предназначенной для вычисления чисел Бернулли, были уже

использованы рекуррентные вложенные циклы. В своих комментариях Лавлейс

высказала также великолепную догадку о том, что вычислительные операции

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

вычислительные машины так бы и остались всего лишь мощными

быстродействующими калькуляторами.

После завершения работы над переводом и комментариями Ада предложила

Бэбиджу, что она будет консультировать лиц, заинтересованных в

использовании вычислительных машин, дабы Бэбидж не отвлекался от основной

работы по доведению своей аналитической машины. Но время для вычислительных

машин ещё не пришло, толпы пользователей не спешили получить консультацию у

леди Лавлейс, более того - в 1842 г. правительство Британии отказало

Бэбиджу в финансовой поддержке его разработок. Бэбидж был готов на всё,

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

он увлёкся идеей создания "подлинно научной, математической" системы ставок

на бегах, которая давала бы верный выигрыш. Как и следовало ожидать,

"система" не сработала и принесла не только разочарование, но и большие

финансовые потери. Самым стойким её приверженцем оказалась графиня Лавлейс

- она продолжала упорно играть, часто даже втайне от мужа и Бэбиджа,

пытаясь усовершенствовать систему. На этом она потеряла почти все свои

личные средства. К тому же, в начале 50-х годов её здоровье неожиданно и

резко ухудшилось, и в 1852 г. Ада Лавлейс скончалась в возрасте 37 лет, как

и её отец, и была похоронена рядом с ним в фамильном склепе Байронов.

Имя Ады Лавлейс воскресло из небытия в середине 1930-х годов в связи с

работами английского математика Алана Тьюринга, введшего понятие логической

алгоритмической структуры, получившей название машины Тьюринга, а также

последующим созданием первых электронных вычислительных машин.

К концу 1970-х годов исследования, проведенные в министерстве обороны США,

выявили отсутствие языка программирования высокого уровня, который бы

поддерживал все основные этапы создания программного обеспечения.

Применение же различных языков программирования в разных приложениях

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

разработок и другим нежелательным явлениям, включая рост стоимости

программного обеспечения, многократно превышающей стоимость самой

вычислительной техники. Выход из кризиса виделся в разработке единых языка

программирования, среды его поддержки и методологии применения. Все три

составляющие этого проекта разрабатывались очень тщательно с привлечением

наиболее квалифицированных специалистов разных стран. В мае 1979 г.

победителем в конкурсе разработки языков был признан язык Ада, названный в

честь Ады Августы Лавлейс, и предложенный группой под руководством француза

Жана Ишбиа. Прототипом этого языка явился язык программирования, названный

в честь Блеза Паскаля, который еще в возрасте девятнадцати лет, в 1624 г.,

разработал проект "Паскалины" или, по-другому, "Паскалева колеса" - первой

механической вычислительной машины. С появлением и широким распространением

персональных компьютеров язык Ада во многом утратил свою значимость, однако

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

работающих в реальном масштабе времени.

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

города - в штатах Алабама и Оклахома. В Оклахоме существует и колледж её

имени. Вроде бы - немного, но, вместе с тем, есть люди, искренне

полагающие, что на сегодняшний день слава (или, по крайней мере,

популярность) Ады Лавлейс затмила славу её знаменитого отца, и что её

вклад в мировую цивилизацию, по крайней мере, соизмерим с вкладом

великого поэта.

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

создания параллельных программ. Официальный язык программирования

министерства обороны США. Существует множество компиляторов для самых

разных платформ. Текущая версия: Ada-95

В деле разработки новых языков программирования много спор- ных моментов,

примером которых может служить ADA - новейшее средство программирования,

разработанное Министерством обороны США и отличающееся черезвычайно

большими возможностями. Язык програмирования ADA, как известно, был

разработан с целью замены устаревших и все менее используемых языков, таких

как COBOL и FORTRAN. Трудности заключаются в том, что цикл замены одного

языка программирования другим охватывает период времени от 20 до 30 лет и

не начинается до тех пор, пока мы не убедимся на деле, что ныне

существующие языки больше не отвечают нашим требовани- ям. Мы можем

ускорить этот процесс, начав немедленную замену устаревших языков языком

ADA. При этом, когда мы придем к выводу, что ADA уже устарел, замена на

него только только успеет завершиться. У нового поколения разработчиков

языков программирования появилась тенденция называть разработанные ими

языки именами реальных людей, а не прибегать к обычным акронимам. Так язык

PASCAL получил наименование в честь первого создателя счетных машин, а язык

ADA назван в честь первого программиста. ADA

Язык ADA назван в честь Августы Ады Байрон (Augusta Ada Byron),

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

правительственными органами США. Эксперты относили ADA к посредственным

языкам, поскольку он сложен для изучения (правительство не всегда

руководствовалось логикой). Данный язык был принят стандартом в

правительственных органах США и был утверждён Министерством обороны в 1979

году.

Разновидности: Atree ADA, Janus ADA, Meridian ADA.

В деле разработки новых языков программирования много спор-

ных моментов, примером которых может служить ADA - новейшее

средство программирования, разработанное Министерством обороны

США и отличающееся черезвычайно большими возможностями. Язык

програмирования ADA, как известно, был разработан с целью

замены устаревших и все менее используемых языков, таких как

COBOL и FORTRAN.

Трудности заключаются в том, что цикл замены одного языка

программирования другим охватывает период времени от 20 до 30

лет и не начинается до тех пор, пока мы не убедимся на деле,

что ныне существующие языки больше не отвечают нашим требовани-

ям. Мы можем ускорить этот процесс, начав немедленную замену

устаревших языков языком ADA. При этом, когда мы придем к

выводу, что ADA уже устарел, замена на него только только

успеет завершиться.

У нового поколения разработчиков языков программирования

появилась тенденция называть разработанные ими языки именами

реальных людей, а не прибегать к обычным акронимам. Так язык

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

машин, а язык ADA назван в честь первого программиста. Решив

назвать свой новый язык в честь какого-либо человека, мы

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

закончить создание первой ЭВМ. Новый язык, таким образом,

назван в честь первого разработчика систем, и его разработка

проводится, подобно разработкам самого Баббиджа, без опреде-

ленной финансовой поддержки, что, естественно, несколько

тормозит работу.

Язык BABBAGE основан на элементах языков, которые были

открыты после того, как было завершено создание языка ADA.

К.А.Р.Хоор в своей лекции, за которую Ассоциация по вычисли-

тельной технике в 1980 году присудила ему премию Тьюринга,

говорил о двух путях разработкт программного обеспечения. Один

путь заключается в том, чтобы сделать программу настолько

простой, что становится полностью очевидно отсутствие каких-

либо недостатков. А другой путь состоит в том, чтобы сделать

программу настолько сложной, что это исключало бы всякую

возможность каких-либо погрешностей. Разработчики языка BABBAGE

выбрали третий путь, т.е. создать язык, который содержит только

явные недостатки. Программы на BABBAGE отличаются такой низкой

надежностью, что процедуры профилактического контроля можно

начинать до того, как интеграция всей системы будет завершена.

Это служит гарантией постоянного роста спроса на продукцию

разработчиков на рынке сбыта в области обработки данных.

Как и в языке PASCAL в языке ADA используется принцип

"строгой печати" с целью избежать появления ошибок, которые

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

Разработчики языка BABBAGE выступили в защиту принципа

"надежной печати" с тем, чтобы избежать ошибок, появляющихся в

результате неправильного написания слов в программе пользова-

теля. В последующих версиях языка BABBAGE станет возможным

применение "печати по слепому методу", что позволит удовлетво-

рить давно назревшие требования пользователей.

Спорным вопросом, правильность решения которого обсуждается

многими разработчиками языков программирования, является метод

передачи параметров в подфункции. Некоторые разработчики

выступают в защиту "вызова по имени", другие предпочитают

"вызов по значению". В языке BABBAGE используется новый метод -

"вызов по телефону". Этот метод оказался особенно эффективным

при передачи параметров в процессе дистанционной обработки

данных.

В основу языка ADA положена идея портативности. В процессе

разработки языка BABBAGE разработчиками учитывается прежде

всего портативность аппаратуры. В конце концов, какая польза от

ЭВМ, если заказчик не может постоянно иметь машину под рукой

или прграммное обеспечение оказывается непереносимым.

Известно, что разработка языка программирования проходит

успешно, если она находит финансовую поддержку со стороны

правительства. Разработка языка COBOL, например, финансирова-

лась правительством, а языка ADA - Министерством обороны. После

долгих переговоров Министерство Здравоохранения согласилась

оказать финансовую поддержку разработчикам языка BABBAGE.

В языке ADA долго не допускалось использования подъязыков.

В основу языка BABBAGE, для увеличения его гибкости положена

возможность расширения языка. Каждый пользователь может и

должен сам определить размер своей версии языка программы.

Спорный вопрос о размере BABBAGE отпадает, так как каждый

пользователь сам определяет размер языка в соответствии с его

требованиями. BABBAGE, таким образом, является идеальным языком

для генерации версии компилятора в каждом отдельном случае.

Ниже приведены примеры, которые могут дать некоторое

представление о языке BABBAGE.

В структурных языках программирования запрещалась замена

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

переходов более простой структурой IF-THEN-ELSE. В языке

BABBAGE имеется несколько новых операторов условного перехода,

которые выполняют роль конечных термов в структуре программы

Страницы: 1, 2, 3


ИНТЕРЕСНОЕ



© 2009 Все права защищены.