Ада действительно ушла?


17
  • Люди все еще используют Аду - (это главным образом использовалось в Министерстве обороны)
  • Все ли приложения написаны на Аде "Legacy"?
  • Ада знания все еще продают

5
Сначала прочтите это, прежде чем задавать вопрос: tiobe.com/index.php/content/paperinfo/tpci/index.html Он более популярен, чем F # или Assembly, и на самом деле он имеет аккуратный синтаксис (IMO).
Работа

2
Другая информативная страница: seas.gwu.edu/~mfeldman/ada-project-summary.html
Блэкджек,

1
@greenlit, Java для разработчиков Ada в настоящее время около 20: 1. Чтобы узнать больше, попробуйте отсканировать вакансии. Какой у тебя угол здесь? Вы надеетесь найти высокооплачиваемую работу в Аде?
Работа

3
Если вы хотите использовать его в общем приложении, почему популярность имеет значение? Планируете ли вы добавить других разработчиков?
JeffO

1
@greengit, см. также stackoverflow.com/questions/1078043/why-didnt-ada-make-it - на самом деле это удалось, java потратил большую часть своего времени, наверстывая упущенное!
NWS

Ответы:


27

Люди все еще используют Аду - (это главным образом использовалось в Министерстве обороны)

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

Что касается использования, Ада больше не обязана для использования в Министерстве обороны. Большая часть работы, которую я видел и выполнял, была на Java, C и C ++, но также используется платформа .NET, и я даже слышал о проектах, работающих на других языках JVM, таких как Scala, в зависимости от того, как Система будет использоваться. Вероятно, в Ada много кода, поэтому я не удивлюсь, если будет много повторного использования кода и его обслуживания. Учитывая природу оборонных проектов, сложно придумать конкретные цифры относительно их использования.

Существует список проектов и пользователей Ada , но похоже, что последнее обновление было в июне 2008 года. Возможно, есть более свежие списки, но я не смог быстро их найти.

Все ли приложения написаны на Аде "Legacy"?

Если вы спросите, есть ли новая разработка Ada, я не удивлюсь, если новые системы пишутся с нуля в Ada. Я подозреваю, что их будет слишком много, но, вероятно, есть некоторые. Тем не менее, я подозреваю, что большая часть работы Ada заключается в обслуживании или обновлении существующих систем, а не в новых разработках.

Ада знания все еще продают

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


5
Я пишу новые системы в Аде :)
NWS

1
C # & .NET также используются в бизнес-приложениях, написанных оборонными подрядчиками.
Джордж Стокер

@ NWS: В некотором смысле кажется, что он может предложить гораздо более надежную статическую проверку, чем это было бы возможно в C. Мне любопытно, однако, в какой степени типизация, основанная на поддиапазонах, действительно работает для уменьшения зависимости от размера машины. Если у кого-то есть, например, две переменные, объявленные как тип 0..200, и он хочет проверить, является ли их продукт больше 250, можно ли просто сравнить его продукт с 250, и он будет гарантированно работать, или он потерпит неудачу при компиляции в случаях, когда он может потерпеть неудачу или пройти компиляцию, но потерпеть неудачу во время выполнения, если продукт превышает 32 767?
Суперкат

@supercat Да Статическая проверка очень хороша в Аде. Что касается вашего конкретного запроса, правильное использование подтипов и модульных типов для создания диапазонов для проверки решит вашу проблему. Есть также библиотеки, доступные для манипуляций с очень большим числом, которые будут работать на 16/32 битных машинах. Вы читали о сильной системе типов в Аде? Как только вы научитесь правильно его использовать, он станет очень мощным.
NWS

@NWS: Я посмотрел на определение языка Ada, связанное со страницей Wiki, и, хотя я нашел, где говорилось об определении числовых типов, я не смог найти никакого обсуждения того, как они взаимодействуют с операторами. Если бы для Ada требовались типы типов при работе с типами, которые точно не совпадали, это казалось бы не очень полезным, но я не видел никаких признаков того, что на самом деле требуется. Если бы я проектировал язык, в вышеупомянутом случае я бы либо обеспечил, чтобы сравнение велось так, как если бы оно оценивалось с типом, который может содержать что угодно, вплоть до 40000, или иначе ...
суперкат

12

Ответ: нет, Ада все еще используется. Моя компания использует Ada для разработки собственных серверных приложений для компаний в сфере производства, розничной торговли, здравоохранения и многого другого.


Можете ли вы сказать, какие преимущества у Ada перед другими языками в нативных серверных приложениях?
Раймонд Шенон


6

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

Поэтому: поезда, железные дороги, самолеты, авиадиспетчерская служба, спутники, медицинские системы, атомные электростанции и т. Д.

для недавнего использования Ада см .: это


5

«Использовали» ли в министерстве обороны? В прошлый раз, когда я проверял, это все еще есть. Ада по-прежнему так же жизнеспособна, как и любой язык для написания нового программного обеспечения с нуля. Недостатком является доступность существующего программного обеспечения для повторного использования и адаптации, а также наличие программистов, которые могут вам помочь. Тем не менее, он может быть связан с программами на C или с аналогичным двоичным интерфейсом.

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


1
Это было поручено для проектов DoD, вплоть до конца 1990-х (1997-1998, если я правильно помню). Код Ada все еще существует, но все больше и больше проектов строятся с использованием C, C ++, Java и даже такие языки, как Python, начинают проникать. Я не говорю, что он не используется - существует масса кода Ada, который все еще хорош и может быть повторно использован, изменен или расширен для проектов, и это так. Но не так много новых разработок использует Ада.
Томас Оуэнс

Я обнаружил, что шаблоны C ++ с автоматическим созданием функций шаблонов гораздо более мощные и «идиоматические», чем шаблоны Ada.
Кевин Клайн

1
@Kevin, idiomatic относится к типичному шаблону использования, который определяет язык, а не то, насколько он «мощный». Для программистов на С ++ нередко годами используются шаблоны для стандартных библиотечных контейнеров, но они никогда не определяют свои собственные. Это неслыханно для программистов и дженериков Ada.
Карл Билефельдт

Обратите внимание, что мандат был отменен, а не его использование.
NWS

1

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.