Где используется Ada (кроме критически важного программного обеспечения)? - PullRequest
26 голосов
/ 14 декабря 2008

Когда кто-то думает об Аде, он обычно думает об авионике.

Чем меня интересуют некоторые другие приложения Ады? Где это используется? Есть ли в Аде приложения для отправки?

Например, в нем написаны CRUD-приложения? Или игры? И т.д.

Ответы [ 8 ]

31 голосов
/ 14 декабря 2008

Майкл Фельдман активно поддерживает список , который использует проекты Ada / Real-World , в котором перечислены все типы военных и коммерческих проектов. И поскольку он поддерживает конфиденциальность соавторов, там будут отображаться проекты, которые иначе не будут обсуждаться их корпоративными спонсорами как проекты "Ada Inside".

16 голосов
/ 14 декабря 2008

Помимо критичных для безопасности систем, Ada действительно хороша только тогда, когда у вас есть много команд, работающих над очень большим проектом, и количество логических строк исходного кода превышает примерно 1 или 2 миллиона.

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

К сожалению, многие разработчики программного обеспечения, которые профессионально использовали Ada 83 или Ada 95, не могут рассказать вам о проектах, над которыми они работали. Я слышал, что он также используется в областях систем управления воздушным движением (в разных странах), железнодорожных транспортных систем (таких как парижское метро и метро Гонконга) и банковского дела / финансов (Reuters и другие).

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

10 голосов
/ 09 января 2009

Это начало жизни как предпочитаемый язык DoD, так что вы найдете его во всех программах DoD. НАСА и ФАУ тоже большие пользователи. Из-за этой базы многие коммерческие авиакосмические компании тоже используют ее (хотя это, вероятно, "критично для безопасности"). Например, я думаю, что большая часть программного обеспечения в Boeing 777 была разработана в Аде. Я думаю, что Европейское космическое агентство тоже часто его использует.

Тем не менее, он на самом деле используется недостаточно. Например, он, естественно, почти не подвержен эксплойтам переполнения буфера, поэтому он действительно должен быть предпочтительным языком для разработки ОС.

6 голосов
/ 14 декабря 2008

Ада была изначально задумана как язык для объединения очень большого количества языков, используемых для построения систем для военных США. Таким образом, вы найдете, что он часто используется в приложениях в области систем защиты. Для примера такого приложения взгляните на тематический пример Tokeneer , исходный код которого теперь доступен онлайн .

5 голосов
/ 14 декабря 2008

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

4 голосов
/ 14 декабря 2008

Не в количестве. До появления GNAT компиляторы Ada и инструменты разработки были очень дорогими и обычно поддерживали только дорогостоящее оборудование, такое как Suns, Vaxen или IBM Mainframes.

Есть что-то вроде этого - различные наряды делают вещи, критичные для безопасности, с SPARK , но это имеет тенденцию (хотя и не исключительно) к выполнению на заказ.

2 голосов
/ 21 января 2009

Ада по-прежнему популярна в колоссальных, унаследованных государственных программах. Это также основа для VHDL .

1 голос
/ 03 ноября 2015

Ада может быть использована в играх. Проверьте это:

https://sourceforge.net/projects/adagate/

Это свежий (2015 г.) пример использования современного OpenGL с Ada.

...