Раздел 1.1 - Что такое Ada?

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

Существенное преимущество языка Ada - это экономия затрачиваемого на отладку времени. Ada обнаруживает столько ошибок, сколько возможно, на самых ранних стадиях разработки. Множество ошибок, которые в других языках программирования обнаруживаются не сразу, или совсем не обнаруживаются, Ada обнаруживает еще во время компиляции. Программы, написанные на языке Ada также способны выявить большое количество ошибок во время исполнения, если эти ошибки не могут быть обнаружены при компиляции (для увеличения производительности, если это необходимо, такая проверка может быть отключена). Кроме этого, Ada содержит механизм работы с исключительными ситуациями (exception), который позволяет управлять ими во время исполнения.

Кем используется Ada?

Изначально Ada был создан для департамента обороны США (DoD) для встроенных систем реального времени. Ada - язык, наиболее широко используемый при создании и модернизации американских военных систем. (более подробная информация об использовании DoD языка Ada).

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

Ada используется как для небольших, так и для крупных проектов, так как его возможности обнаружения ошибок значительно сокращают время отладки. Кроме того, средства распараллеливания, предусмотренные в языке Ada, позволяют использовать преимущества самых современных операционных систем, таких как Windows NT, Windows 95, Mach.

Язык Ada применяют, если приложение должно работать быстро. Язык Ada разработан для создания эффективных программ, так как одна из ключевых областей применения языка - системы реального времени, где производительность наиболее важна. Реальная производительность программы, конечно, зависит от выбранных алгоритмов и от используемого компилятора. Первые Ada- компиляторы, также как и первые компиляторы для других языков, создавали неэффективный код. Современные Ada-компиляторы, как правило, генерируют достаточно хороший код. К сожалению, низкая производительность первых компиляторов создала миф о невысоком быстродействии Ada-программ, который только в настоящее время начинает рассеиваться. Наилучшим тестом производительности, конечно, является проверка данного компилятора задачей, которую вы решаете.

Где и как стандартизирована Ada?

Ada первоначально была стандартизирована Американским национальным институтом стандартизации (ANSI) в 1983г. (Международная организация по стандартизации (ISO) разработала аналогичный стандарт в 1987). С целью расширения возможностей языка недавно стандарт был пересмотрен; это расширение было названо Ada 9х или Ada 95. Производители Ada- компиляторов обновили свои продукты, чтобы добавить новые возможности Ada 95. Этот учебник описывает возможности Ada 95, и если какое-либо расширение является новым в данном стандарте, это будет отмечено отдельно.

Официальным описание языка Ada является Справочное Руководство (Reference Manual или RM). Полный текст Руководства доступен в Интернет в виде гипертекстового документа. Однако, RM не является учебником и может быть тяжелым для восприятия, если Вы недостаточно хорошо знакомы с Ada. Мы будем часто ссылаться на RM, и если вы хотите более глубоко ознакомиться с какой-либо темой, не стесняйтесь заглядывать туда.

Ada не была создана комитетом. Первоначальный вариант Ады был победителем на соревновании по разработке языков программирования. Победившую команду возглавлял Jean Ichbiah (их язык носил название "Green") . Пересмотр Ada 1995 года (Ada 95) был осуществлен небольшой группой, которую возглавлял Tucker Taft. В обоих случаях проекты публично обсуждались и авторами были учтены замечания.

Каковы возможности языка Ada?

  1. Можно определить пакеты (модули) связанных типов, объектов и операций.
  2. Пакеты и типы могут быть настраиваемыми (т.е. их можно параметризировать с помощью шаблона), что позволяет создавать компоненты, более пригодные для повторного использования.
  3. Ошибки могут быть обнаружены и обработаны соответствующим образом. Множество серьезных ошибок (таких, как переполнение при расчетах и неверная индексация массивов) автоматически обнаруживаются и обрабатываются с помощью механизма исключений, что увеличивает надежность программ.
  4. Можно создать и согласовать несколько задач (параллельных нитей управления). Это основная возможность, которая не поддерживается стандартными средствами многих других языков.
  5. Можно точно управлять представлением данных, что необходимо при системном программировании.
  6. В состав языка входят предопределенные библиотеки. Они предоставляют возможности для выполнения операций ввода/вывода, действий над строками, математических функций, создания интерфейса командной строки, а также генерации случайных чисел (последние две возможности присутствовали в Ada 83, но были стандартизированы в Ada 95).
  7. Поддержка объектно-ориентированного программирования (это новая возможность языка Ada 95). Фактически, Ada 95 является первым международно стандартизированным объектно-ориентированным языком программирования.
  8. В Ada 95 был значительно улучшен интерфейс для связи с другими языками (такими, как С, Fortran и COBOL). И наконец, кромпилятор Ada может создавать код для виртуальной машины Java (J-code), так что можно использовать его для разработки Java-апплетов и Java- приложений.

Что имеется для программирования на Ada?

Существует множество компиляторов Ada , включая и бесплатный компилятор Ada 95 GNAT, основанный на компиляторе gcc Free Software Foundation. Кроме того, существует большое количество утилит и онлайновой документации. Далее онлайновые информационные ресурсы будут рассмотрены более подробно.


Упражнение:

Что из ниже перечисленного не является возможностью языка Ada?

  1. Уменьшение количества ошибок и затрат на отладку за счет раннего обнаружения ошибок
  2. Объектно-ориентированное программирование
  3. Эффективная реализация
  4. Ничего из перечисленного выше. В Аде имеются все три указанные возможности.

Вы можете также:

PREVIOUS Перейти к на домашнюю страницу учебника

NEXT     Перейти к следующему разделу

OUTLINE  Вернуться к содержанию Урока 1

David A. Wheeler (dwheeler@ida.org)

Перевод: Юрий Королев   Общая редакция перевода: Г.Ю. Сисюк

Исходная копия этого документа находится по адресу "http://www.adahome.com/Tutorials/Lovelace/s1s1.htm".

Исходная копия перевода размещена на сайте http://www.ada-ru.org