RSS    

   Реферат: Язык АДА

Следующая программа несколько сложнее предыдущей. Она спрашивает у пользователя его/ее имя и затем печатает его на экране наряду с другим текстом:

     with Ada.Text_IO; use Ada.Text_IO;

     procedure Get_Name is

       Name   : String (1..80);

       Length : Integer;

     begin

       Put ("Введите ваше имя> ");

       Get_Line (Name, Length);

       New_Line;

       Put ("Привет ");

       Put (Name (1..Length));

       Put (", Я думаю вам понравиться изучать Аду!");

     end Get_Name;

Как это все работает? Мы уже знаем, что такое Text_IO, а предложение procedure Get_Name is говорит само за себя

Переменная Name содержит имя введенное пользователем, а тип String (1..80) говорит компилятору о том, что Name это строковая переменная с длинной до 80 символов. Вторая переменная, Length, это целое число используемое для хранения действительной длинны строки введенной пользователем.

А теперь об остальном: когда программа выполняется, она печатает "Введите ваше имя> ", а затем ждет его ввода от пользователя. после того как он введет имя и нажмет Enter программа пропускает строку (New_Line;) и печатает "Привет [имя пользователя], Я думаю вам понравиться изучать Аду!".

Визуальное программирование на Аде?

Возможно у вас возник вопрос "А есть ли к Аде графическая среда разработки программ (IDE)?". Да, такие есть, одна из них, под названием ObjectAda, поставляется компанией Aonix, www.aonix.com (Прим. перев: Данный продукт построен в духе IDE от Microsoft для Visual С++)

ObjectAda существует в двух вариантах как для MS Windows, так и для X-Windows (X-Windows это стандартная оконная графическая система ОС Unix.)

Однако учтите, что это коммерческий продукт, правда он доступен для свободного скачивания в облегченном варианте и весит около 60~70Mb.

Ada -- это доведенный до логического завершения ( на данном этапе развития _науки_ программирования ) Pascal. Ada -- универсальный язык программирования и мощнейшее средство для software engineering. В равной степени пригодна для написания "зубочисток" из 50 строк на один-два прогона и для огромных особо надежных систем реального времени. Жестко определена стандартом языка. В язык встроены средства параллельного программирования, поддержка разноязыковых модулей, обработка исключительный ситуаций. Разговоры о ее чрезмерной сложности -- бред, вызванный тем, что она опередила свое время лет этак 6..10. Мощный инструмент не может быть простым -- "Дубли у нас простые" ( (с) "Понедельник...", Стругацкие ), но и слишком уж сложной я ее назвать не могу. Ada'е присущи строгость, логичность, ортогональность, симметричность. Она по-хорошему консервативна, несмотря на то, что в нее были введены революционные концепции, не понятые и не принятые серыми fortran-кодерами начала '80-ых годов, чем и объясняется ее сравнительно малое распространение. Первый стандарт вышел в '83, в '95 вышел второй стандарт, расширивший и симметризовавший язык. Для Ada'ы характерно очень жесткое следование стандарту, что делает программы на ней сравнительно легко переносимыми с платформы на платформу. !) Аналогии: Ada -- это Парфенон среди языков программирования, она величественна, изящна, строга и прекрасна. Если считать, что Pascal это МиГ-21, то Modula-2 это ( ранние версии ) МиГ-29 и ( нынешнее состояние ) МиГ-33, а Ada'83 -- Су-27, и Ada'95 -- Су-37, и, продолжая аналогию, C -- F-104, C++ -- F-117 ( much noise about nothing |) ). > Q 2: А чем Ada95 отличается от Ada83? Насколько я понял, > Q 2: в Ada95 есть ООП? Вот еще отличия: - иерархические библиотеки (child units); - пассивные мониторы наряду (protected records) с активными (tasks); - дополнительные средства управления паралеллизмом (асинхронная передача управления); - стандартные библиотеки для важнейших областей (системное программирование, системы реального времени, распределенные системы, информационные системы, численные рассчеты); - "мелочевка" типа ссылок на подпрограммы и возможность связывать сообщение с возбуждаемым исключением; > Q 3: Насколько я понял, в Ada95 есть ООП? А как оно > Q 3: реализуется? Подлинное там ООП (как на функциональных > Q 3: языках) или паскале-си подобное? "Паскале-си-подобное", хотя по форме на первый взгляд сильно отличается.

Основной документ по Ada'е -- "Language Reference Manual", обычно называемый просто "Стандарт" или "RM95" ( "RM 95", а то и просто "RM" ), некоторые по старинке говорят "LRM", но это -- общепринятое сокращение для стандарта Ады-83. Изложено, как и положено стандарту, суховато, но строго, с примерами и ссылками на смежные вопросы. В отличие от пары-тройки других "стандартов", которые мне привелось посмотреть, это, действительно, Стандарт, а не рассуждения на тему об очередной версии компилятора и не учебник программирования на базе данного языка, но, между тем, он вполне пригоден для чтения. Второй документ -- "Ada 95 Rationale" ( обычно -- "Rationale" ). Это изложение и _обоснование_ базовых _проектных__решений_ языка (ответы на вопросы "а почему сделано именно так?") и демонстрация этих решений в деле. Соответственно, более вольное, чем Стандарт, кое в чем менее полное, а кое в чем более ппространное. С развернутыми примерами, пояснениями, аналогиями и прочей весьма полезной "белетристикой". Читается как хороший детектив. Литературные достоинства ( без тени иронии ) этого документа отмечены не только мной. Я бы настоятельно рекомедовал эту книгу в качестве именно _учебника_ для подготовленного и _мотивированного_ читателя ( такому читателю нет резона тратить время на традиционные университетские учебники ), а RM использовать как справочник.

Язык Ада – двадцать лет спустя

Сергей Рыбин, Василий Фофанов

Если спросить отечественного ИТ-специалиста: "Что такое Ада?", большинство лишь удивленно пожмет плечами, а кто-то даже скажет, что это мертвый язык, когда-то придуманный Пентагоном, а ныне практически не используемый. На самом же деле Ада и сегодня – вполне благополучный и активно применяемый в различных областях язык программирования. Правда, большинство российских программистов знают о нем мало.

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

Несмотря ни на что, в отдельных областях техники Россия все еще "впереди планеты всей". И одна из них – конструирование и производство самолетов-амфибий. Всемирно признанным лидером в этой области является ТАНТК им. Г. М. Бериева. Недавно это предприятие приобрело средства разработки бортового программного обеспечения на базе языка Ада для использования при модернизации своей последней модели Бе-200.

Между тем, большинство отечественных ИТ-специалистов в лучшем случае ничего не знают о языке Ада, в худшем же – имеют совершенно неверное представление об Аде как о языке-монстре, некогда придуманном Пентагоном для разработки военных систем, а ныне окончательно забытом.

Немного истории

Официальным днем рождения языка программирования Ада можно считать 17 февраля 1983 года – дату утверждения стандарта ANSI/MIL-STD-1815-A–1983.

Технические и административные меры, предпринятые Минобороны как часть проекта по созданию и внедрению Ады, полностью предотвратили появление и распространение диалектов языка. С 1983 года и по настоящее время все индустриальные реализации поддерживают действующий стандарт Ады. Когда же речь заходит о подмножествах Ады, то эти подмножества определяются не реализацией, а стандартами разработки конкретного класса систем.

В 1987 году стандарт ANSI без единого изменения был утвержден в качестве стандарта ISO (ISO/IEC 8652), а когда в начале 90-х годов назрела необходимость пересмотра стандарта, работа по пересмотру также была проведена под управлением и на средства Министерства обороны США. Стартовал новый международный проект, который завершился утверждением в конце 1994-го и публикацией в начале 1995 года новой версии стандарта ISO/IEC 8652. Именно этот документ и служит сегодня определением языка программирования Ада.

В СССР в начале 80-х годов была образована Рабочая группа по языку программирования Ада при Государственном комитете по науке и технике. Тщательно собиралась и анализировалась вся открытая информация о проекте, а усилиями специальных служб добывалась и закрытая информация. Были организованы проекты по реализации Ады для практически всех использовавшихся тогда архитектур ЭВМ, и некоторые из них оказались весьма успешными. Распад СССР положил конец этой деятельности. Сегодня Ада используется в России и СНГ отдельными энтузиастами.

Что такое Ада

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

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

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


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.