当人们想到阿达时,人们通常会想到航空电子设备.
我感兴趣的是Ada的其他一些应用程序?在哪里使用?是否有任何用Ada编写的应用程序?
例如,是否有写入CRUD应用程序?还是游戏?等等.
Michael Feldman积极维护" 谁使用Ada /真实世界项目 "列表,其中列出了所有类型的军事和商业项目.由于他保持贡献者的机密性,项目将出现在那里,否则他们的公司赞助商将不会讨论"Ada Inside"项目.
除了安全关键系统之外,当你有很多团队在一个非常大的项目上工作并且逻辑源代码行数超过大约1或2百万时,Ada才真正发光.
正是在这一点上,所有Ada语言定义的运行时检查,你有时认为有点迂腐,并且代码大小增加太多,变得非常有用.修复数百万行代码中的错误永远不会有趣; 运行时检查确实有助于更早,更接近地发现问题.
不幸的是,许多专业使用Ada 83或Ada 95的软件开发人员无法告诉您他们所处理的项目.我听说它也用于空中交通管制系统(在各个国家),铁路运输系统(如巴黎地铁和香港地铁)和银行/金融(路透社等).
它是一种非常好的语言,并且有人提倡使用它,因为它是一种很好的语言,但有时候,当你没有看到分段错误或几个月甚至几年的真正令人讨厌的崩溃时,你开始想用C++编写代码再次...
它起初是DoD的首选语言,因此您可以在DoD程序中找到它.美国宇航局和美国联邦航空局也是大用户.由于这个基础,许多商业航空航天公司也使用它(尽管这可能是"安全关键").例如,我认为波音777中的大多数软件都是在Ada中开发的.我认为欧洲航天局也使用它.
也就是说,实际上它的使用还不够.例如,它自然几乎不受缓冲区溢出攻击的影响,所以它确实应该是OS开发的首选语言.
Ada最初被认为是一种语言,用于整合用于为美国军队构建系统的大量语言.因此,您会发现它在防御系统领域的应用程序中使用了很多.有关此类应用程序的示例,请查看Tokeneer案例研究,其源代码现已在线提供.
我不确定,但是,在阅读了很多关于Ada之后,我认为它非常适合于每个与物理相关的计算/自动化任务,因为所有这些编译时和运行时检查(一个好吃的是那个你可以制作两种不兼容的浮点类型,例如长度和质量).