- PVSM.RU - https://www.pvsm.ru -

Программирование на языке Ада

Программирование на языке Ада - 1

Довелось намедни на одном белорусском ресурсе прочесть статью [1] «10 языков программирования, которые больше никому не нужны». Среди «заживо погребенных» оказались Fortran, Basic, J#, Turbo Pascal Ada и другие. Так вот, наибольшую полемику, как ни странно, вызвало обсуждение Aдa (надеюсь в этом месте я не оскорбляю чьи-либо чувства). Что, собственно говоря и сподвигло покопаться в этой увлекательной теме.

Ада [2] получил свое название в честь той самой Ады Лавлейс [3], великого математика и первого в мире программиста (кстати, она единственный законнорожденный ребёнок знаменитого английского поэта Джорджа Гордона Байрона и его жены Анны Изабеллы Байрон). Этот язык был создан в конце семидесятых годов для бортовых систем военных объектов Пентагона.

Тем удивительней, что в 1989 году в СССР материализовался ГОСТ [4] (он же государственный стандарт) по работе с данным языком программирования. Если покопаться в документе, то там можно найти массу интересных вещей. Вообще хочется снять шляпу перед предшественниками, сделавшими эту по-настоящему впечатляющую работу. Честно говоря, в 80-е в СССР, как ни странно, вообще с книгами по программированию судя по всему было неплохо. Вот тут [5] краткая Ада-библиография.

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

Стоит отметить, что язык изначально разрабатывался для встраиваемых систем. Отсюда — неразвитость Ады по части GUI и СУБД. А раз с этим у неё туго, то и шансов развиться не было. Зачем она массовому разработчику, ведь ~99% пользовательских приложений нуждаются в GUI и СУБД.

Синтаксис

У Ada – простой, понятный, легко читаемый синтаксис, который существенно снижает риск ситуаций, когда случайная опечатка приводит к тому, что код не становится формально неправильным, но существенно меняется его семантика.

Изначально, Ада — модульный язык программирования со строгой типизацией, унаследовавший синтаксис от Паскаль и Алгол. Если вы учили первый в школе или институте, то глядя на «Hello, World!» должны испытать ностальгию:

with Ada.Text_IO;


procedure Hello is
 
use Ada.Text_IO;

begin
 
Put_Line("Hello, world!");

end Hello;

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

Более поздние стандарты частично решали эти проблемы, но по понятным причинам, они не сделали из Ада второй Python. (с [6])

Где больше Ада?

Покопавшись в «этих-ваших» интернетах оказалось, что Boeing, Airbus и даже российские Ил-96 и Бе-200 летают благодаря программным разработкам из Ада. Вся авиация плотно сидит там же. ПО для атомных станций и даже банковская система, включая сети банкоматов от Ада тоже не далеко ушли. Аналогичное можно сказать про автопром.

Тем не менее, если сравнить количество запросов из HR на специалистов по С#, Python, Java, С++, то очевидно, что адептов Ада требуется в разы меньше. Но это не означает, что они вовсе не нужны. Не случайно в 2012 году были разработаны новые стандарты [7] языка. Есть мнение [8], что совсем скоро он получит второе дыхание. Однако, справедливости ради, стоит отметить, что за его почти сорокалетнюю историю, подобных прогнозов было не мало.

Если вас заинтересовал данный язык и вы вдруг решили узнать, где сегодня в мире грызут гранит Ада, заходите по ссылке [9]. Но, если вы спец по С++, то в Parallels для вас есть местечко [10]. Велкам!

Программирование на языке Ада - 2

Автор: Дмитрий Смиркин

Источник [11]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/staroe-zhelezo/300126

Ссылки в тексте:

[1] статью: https://www.kv.by/post/1049101-10-yazykov-programmirovaniya-kotorye-bolshe-nikomu-ne-nuzhny#comments

[2] Ада: https://ru.wikipedia.org/wiki/%D0%90%D0%B4%D0%B0_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)

[3] Ады Лавлейс: https://habr.com/company/wolfram/blog/303552/

[4] ГОСТ: https://allgosts.ru/35/060/gost_27831-88

[5] тут: http://faqs.org.ru/progr/other_l/adafaq2.htm

[6] с: https://geekbrains.ru/posts/ada_language

[7] новые стандарты: http://www.ada2012.org

[8] мнение: https://www.kv.by/post/1050556-10-prichin-osvoit-yazyk-ada-esli-vy-uzhe-znaete-c-ili-java?page=3#comments

[9] по ссылке: https://www.adacore.com/academia/universities/

[10] есть местечко: https://hh.ru/employer/1736538

[11] Источник: https://habr.com/post/430924/?utm_source=habrahabr&utm_medium=rss&utm_campaign=430924