我在Linux上进行Ada开发的贸易研究.你有任何好的编译器/操作系统建议吗?
到目前为止,我已经从运行在CentOS 5.4上的AdaCore获得GNAT,并且我在Rational Apex和Aonix ObjectAda中有许可请求.
这是移植工作.原始代码库是OSF1 4.0d上的Apex 3.0.
还有什么我应该考虑的吗?理想情况下,它将是一个受支持的环境.
您需要考虑的一个问题是确定被移植的系统在多大程度上利用供应商提供的包来执行其功能.我所见过的较旧的大型系统,尤其是Apex系统,在语言专家的开发时期倾向于认为香草Ada不够好,因此与所有这些供应商提供的软件包相关联.如果这就是你的系统现在所做的事情,那么它就是在供应商内升级并坚持使用Apex(所有其他事情基本相同)的强有力论据.
每当我完成这些系统的端口时,如果有机会我就尽力去掉所有供应商提供的东西 - 十分之九的用独立的Ada实现替换特定于供应商的东西,您不再需要处理特定于编译器的包的怪癖.此外,您还可以提高系统的可移植性和可维护性,从而更好地适应未来的变化.
总是有SPARK,但我相信它是Ada语言的专用/子集版本.您可能希望联系SigAda或Ada usenet组,看看是否还有其他想法.
老实说,GNAT是一个很棒的工具集.您可以使用GNATBench(Eclipse界面)或GPS(轻量级GTK + IDE)与GNAT工具进行交互.