Я делаю торговое исследование для разработки Ada на Linux. У Вас есть какие-либо хорошие рекомендации компилятора/ОС?
До сих пор у меня есть GNAT от AdaCore, работающей на CentOS 5.4, и у меня есть запросы лицензии в для Рациональной Вершины и Aonix ObjectAda.
Это - усилие по портированию. Исходной кодовой базой является Вершина 3.0 на OSF1 4.0d.
Что-либо еще я должен рассматривать? Идеально, это была бы поддерживаемая среда.
Одним из проблем, который вы должны учитывать, является Определите, на какой степени ваша система, которая портирует, использует предоставленные поставщикам пакеты для выполнения его функции. Что я видел с более старыми, крупными системами, особенно вершинами, является склонностью к языковому гуру во время его разработки, чтобы определить, что Vanilla ADA просто не был достаточно хорош, и поэтому свяжитесь на все эти поставщики поставщики. Если это то, что ваша система сейчас делает сейчас, это сильный аргумент для обновления в поставщике и прилипает к вершине (все остальные вещи в основном равны).
Всякий раз, когда я делал порты таких систем, если у вас есть возможность сделать все возможное, чтобы вырвать все, поставляемые поставщику - девять раз из десяти замена, которые работают специфическими поставщиком с реализациями Vanilla ADA Также, и вам больше не нужно иметь дело с причудами пакета, специфичного компилятора. Кроме того, вы увеличиваете переносимость и ремонтопригодность системы, позволяя ему лучше адаптироваться к будущим изменениям.
Всегда искрается, но я считаю, что ее специализированная / подселенная версия языка ADA. Возможно, вы захотите связаться с Sigada или группой Ada Usenet, чтобы увидеть, есть ли другие идеи.
Честно говоря, Гнат - отличный набор инструментов. Вы можете использовать GnatBench, интерфейс Eclipse или GPS, световой GTK + IDE, к интерфейсу с инструментами GNAT.
Другие компиляторы, о которых я знаю, это Green Hills AdaMULTI (для различных RTOSes), и DDC-I's SCORE (также для различных RTOSes)
.Поставщики сертифицированных компиляторов, поддерживающих Linux (в дополнение к перечисленным в вопросе):