Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Язык программирования АДА

Лекция



Привет, мой друг, тебе интересно узнать все про язык программирования ада, тогда с вдохновением прочти до конца. Для того чтобы лучше понимать что такое язык программирования ада , настоятельно рекомендую прочитать все из категории Языки и методы программирования. Теория трансляции.

язык программирования ада

Язык программирования АДА

Ада Августа Байрон
Что такое язык АДА?
Язык программирования BABBAGE
Краткое введение в язык Ада
Предыстория Ады
Конкурс на язык Ада
Где взять компилятор Ада?
Учебник языка Ада
Визуальное программирование на языке Ада
Язык Ада - двадцать лет спустя
Почему язык Ада?
Язык Ада и язык Си
Язык Ада и язык Java
Мифы о языке Ада
Бесплатный сыр в мышеловке
Литература по языку Ада

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

Ада, язык, носящий имя графини, был разработан по инициативе и при содействии министерства обороны США. Исследования, предпринятые в начале и середине 70-х годов, показали, что можно получить огромную экономию средств на программное обеспечение (около 24 млрд. долл. за период 1983 — 1999 гг.), если министерство обороны воспользуется единым языком программирования для решения всех своих задач вместо примерно 450 языков программирования и несовместимых диалектов, используемых программистами.

Результатом этого исследования стали требования к новому языку программирования, способному заменить большинство языков программирования, используемых в рамках министерства обороны США. Требования, получившие шутливое название «соломенный человек», постепенно детализировались с помощью широкого обсуждения как в США, так и за рубежом. В этот процесс были вовлечены вооруженные силы США, зарубежные военные организации, промышленность и университеты. Получаемые в результате очередного шага детализации требования постепенно назывались «деревянными», «железными» и, наконец, «стальными».

Хотя побудительные мотивы создания нового языка программирования первоначально были чисто экономическими, на него оказало заметное влияние и желание иметь язык программирования, направленный на решение важных проблем разработки программного обеспечения. Требования к новому языку содержали такие технические особенности, как простота и полнота языка, надежность, правильность и переносимость программ, простота поддержки, возможность разработки больших программ, программирование в реальном масштабе времени и обнаружение и исправление ошибок. В поддержку тенденции перевода на мультикомпьютеры и отказа от больших ЭВМ в требованиях также содержалось и параллельное программирование, т.е. возможность писать программы, компоненты которых могли бы выполняться параллельно на различных ЭВМ или на одной ЭВМ квазипараллельно. Для разработки языка, удовлетворяющего перечисленным требованиям, был организован международный конкурс. Семнадцать фирм подали свои предложения, четыре из них были отобраны как полуфиналисты. Интересно, что все полуфиналисты в качестве основы для своих языков взяли язык Паскаль. Победителем конкурса стал язык программирования, разработанный группой ученых под руководством Ж. Ишбиа фирмы CII Honeywell Bull. Претерпев некоторое число изменений, этот язык был назван Ада. Через некоторое время доработанный язык Ада становится стандартом ANSI; дальнейшие изменения в языке были направлены на его упрощение и устранение несоответствий. Язык Ада был принят как стандарт ANSI в феврале 1983 г.

Другим направлением работ министерства обороны США по стандартизации своего программного обеспечения был проект аттестации компиляторов с языка Ада. Цель этого проекта – разработка набора стандартных тестов, которые компилятор должен выполнить прежде, чем он будет зафиксирован как реализующий стандарт языка Ада. Параллельно с этим был начат процесс разработки требований к окружению программ на языке Ада и к интерфейсу между программами и пользователями.

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

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

Характеристики языка Ада

Абстракции Переменные объектов
Методы объектов
Переменные классов
Методы классов
Да
Да
Нет
Нет
Ограничение доступа Для переменных
Для методов
Общедоступные, обособленные
Общедоступные, обособленные
Модульность Виды модульности Пакет (Спецификация-тело)
Иерархия Наследование
Обобщенные блоки
Метаклассы
Нет
Да
Нет
Типирование Строгое типирование
Полиморфизм
Да
Нет
Параллельность Многозадачность Да (определяется в языке)
Устойчивость Устойчивость объектов Нет

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

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

Язык программирования АДА

Общеизвестное, что с 1901 года именно 10 декабря вручаются ежегодные Нобелевские премии в память об их учредителе Альфреде Нобеле, умершем в этот день в 1896 году. Но есть и еще одно, менее известное, определение для этой даты, имеющее, однако, самое прямое отношение к роду занятий многих наших читателей, - 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 (последняя - Ада-2003)

В деле разработки новых языков программирования много спорных моментов, примером которых может служить ADA - новейшее средство программирования, разработанное Министерством обороны США и отличающееся черезвычайно большими возможностями. Язык программирования ADA, как известно, был разработан с целью замены устаревших и все менее используемых языков, таких как COBOL и FORTRAN. Трудности заключаются в том, что цикл замены одного языка программирования другим охватывает период времени от 20 до 30 лет и не начинается до тех пор, пока мы не убедимся на деле, что ныне существующие языки больше не отвечают нашим требованиям. Мы можем ускорить этот процесс, начав немедленную замену устаревших языков языком ADA. При этом, когда мы придем к выводу, что ADA уже устарел, замена на него только только успеет завершиться. Об этом говорит сайт https://intellect.icu . У нового поколения разработчиков языков программирования появилась тенденция называть разработанные ими языки именами реальных людей, а не прибегать к обычным акронимам. Так язык PASCAL получил наименование в честь первого создателя счетных машин, а язык ADA назван в честь первого программиста. ADA
Язык ADA назван в честь Августы Ады Байрон (Augusta Ada Byron), использовался практически исключительно Министерством обороны и другими правительственными органами США. Эксперты относили ADA к посредственным языкам, поскольку он сложен для изучения (правительство не всегда руководствовалось логикой). Данный язык был принят стандартом в правительственных органах США и был утвержден Министерством обороны в 1979 году.
Разновидности: Atree ADA, Janus ADA, Meridian ADA.

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

Пример такой просто необходим для того, чтобы опровергнуть достаточно распространенный миф о том, что Ада - большой, сложный и "тяжелый" язык, пригодный лишь для написания сверхбольших и сверхсложных систем. На самом же деле, Ада может применяться для разработки небольших и средних программ с тем же успехом, как и современные клоны Си, Паскаля, Бейсика и Java. Так, классический пример программы "Hello, World!" выглядит на Аде следующим образом:

Язык программирования АДА

Легко видеть, что код на Аде похож на код на Паскале, который был выбран в качестве его прототипа. Первая строка описывает связь данного компилируемого модуля с другими модулями - указывается, что подпрограмма Hello_World должна компилироваться совместно с модулем Ada.Text_IO, который является компонентом предопределенной библиотеки.

Следующая программа определяет два асинхронных процесса

Язык программирования АДА

В разделе локальных объявлений процедуры Tasking_Example описывается задача Outputter (строка 6, строки с 8 по 17 содержат тело этой задачи). Когда управление в процессе, соответствующем процедуре Tasking_Example, доходит до строки 20, перед тем, как выполнить этот первый оператор, запускается процесс, соответствующий задаче Outputter, после чего два этих процесса живут и асинхронно выполняются независимо друг от друга. Выполнение оператора задержки (строки 14 и 20) состоит в приостановке соответствующего процесса на указанное количество секунд. Таким образом, процесс Tasking_Example приостанавливается на 20 секунд, а в это время процесс Outputter начинает печатать значения увеличивающегося на единицу счетчика, приостанавливаясь на одну секунду после вывода каждого значения. По истечении 20 секунд процесс Tasking_Example устанавливает флаг Finished в положение "истина", в результате завершается цикл в процессе Outputter. Спецификация переменной Finished как атомарного объекта данных (строка 4) делает невозможным одновременное чтение и изменение значения этой переменной.

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

Язык программирования АДА

Строки 1-6 содержат объявление настраиваемой функции, а строки 8-20 - ее тело. Содержательно, параметром настройки является произвольный одномерный регулярный тип с неуточненным индексным диапазоном (строка 4), про которого известно только, что тип компонента у него произвольный, однако для компонентов определена операция присваивания (строка 2), тип индекса - произвольный дискретный (строка 4). Поскольку нам предстоит покомпонентно складывать два массива, надо знать, что такое операция сложения для типа компонентов. Так как это произвольный тип, мы вынуждены передавать сложение для типа компонента как формальный параметр настройки (строка 5).

В теле функции мы первым делом проверяем, совпадают ли длины операндов (строка 12), иначе покомпонентное сложение не имеет смысла. Совпадение длин операндов не гарантирует совпадение индексных диапазонов, поэтому в цикле по индексному диапазону первого аргумента (строка 15) нам необходимо каждый раз вычислять индекс соответствующего компонента второго аргумента. Мы лишены возможности сделать это для типа Index, так как знаем про него только, что он дискретен, поэтому переходим от значения дискретного типа к его порядковому номеру (атрибут 'Pos), вычисляем необходимый сдвиг для порядкового номера и возвращаемся к соответствующему значению типа Index (атрибут 'Val).

Заметим, что параметры (настраиваемой) функции "+" Left и Right объявлены как имеющие тип Arr, индексный диапазон которого не уточнен. Однако Left и Right - это формальные параметры, на место которых при вызове (результата конкретизации) функции "+" будут подставлены конкретные массивы с известными индексными диапазонами. Мы же в теле функции "+" пользуемся атрибутами массивов ('Range, 'First, 'Length), чтобы из объекта получить информацию о его индексном диапазоне.

Язык программирования BABBAGE

Язык 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 имеется несколько новых операторов условного перехода, которые выполняют роль конечных термов в структуре программы пользователя:

WHAT IF (что если)

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

OR ELSE (иначе)

наличие варианта, как, например, в фразе "Прибавить эти два числа, OR ELSE (или иначе)";

WHY NOT? (почему нет?)

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

WHO ELSE? (кто еще?)

используется для опроса во время операций ввода/вывода;

ELSEWHERE (где-то в другом месте)

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

он полагает, что она здесь;

GOING GOING GONE (иду иду ушел)

используется для записи неструктурных программ; выполняет произвольный переход к другой части программы пользователя; выполняет работу 10-ти операторов GOTO. В течении многих лет в языках использовались операторы FOR

(в течении), DO UNTIL (выполнять до тех пор, пока), DO WHILE

(выполнять в то время, как) и др. для обозначения цикла (LOOP).

Исследуя это направление, разработчики языка BABBAGE предлогают

нижеуказанные операторы, обозначающие цикл программы:

DON'N DO WHILE NOT (не выполнять несмотря на)

этот цикл не выполняется, если контролируемое условие не является ложным (или если это полдень в Пятницу);

DIDN'T DO (не выполнялось)

цикл выполняется один раз и прекращает дальнейшее выполнение каких-либо циклов;

CAN'T DO (невозможно делать)

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

WON'T DO (отказ выполнять)

центральный процессор приостанавливает выполнение программы, так как обнаруживает погрешности в коде выполняемого цикла программы; выполнение программы может быть возобновлено, если на пульте будет набрано "May I?"

("Можно мне?");

WIGHT DO (можно не выполнять)

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

DO ONTO OTHERS (во всем, как хотите, чтобы поступали с вами, так поступайте и вы с другими)

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

DO BACH (изобразить Баха)

используется для записи временных циклов для музыки, генерируемой с помощью ЭВМ (определение нужного ритма).

В каждом структурном языке, отвечающем самым последним требованиям, имеется оператор CASE для реализации многоходового ветвления. Так в языке ALGOL имеется опретор CASE с индексацией, а в языке PASCAL оператор с идентификацией. Т.е. в этих языках выбор не очень велик. В языке BABBAGE, напротив, имеется целый ряд операторов этого класса:

JUST IN CASE (на всякмй случай)

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

BRIFF CASE (случай краткой записи)

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

OPEN AND SHUT CASE (случай "открыть и закрыть")

при использовании этого оператора никакого доказательства правильности не требуется;

IN ANY CASE (в любом случае)

этот оператор всегда означает рабочее состояние;

HOPELESS CASE (безнадежный случай)

этот оператор всегда означает нерабочее состояние;

BASKET CASE (безвыходное состояние)

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

Сотрудники, входящие в группу разработки языка BABBAGE, постоянно работают над новыми особенностями языка, что будет способствовать беспрерывному росту уровня эффективности данного языка при его использования заказчиками. Например, разработчики языка BABBAGE в настоящее время заняты работой над оператором ALMOST EQUAL SIGN ("почти с одинаковым знаком"), используемым для сравнения двух чисел с плавающей запятой. В работе над этим новым нюансом уже удалось преодолеть значительные трудности.

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

Новая операционная система носит название операционной системы виртуального времени (VTOS). В то время как системы виртуальной памяти обеспечивают виртуальные свойства памяти ЭВМ, VTOS выполняет ту же функцию по отношению ко времени

продолжение следует...

Продолжение:


Часть 1 Язык программирования АДА
Часть 2 Где взять компилятор Ада? - Язык программирования АДА

создано: 2014-09-30
обновлено: 2024-11-14
1588



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Языки и методы программирования. Теория трансляции

Термины: Языки и методы программирования. Теория трансляции