当人们想到艾达时,人们通常会想到航空电子设备。
我感兴趣的是 Ada 的其他一些应用?它在哪里使用?是否有任何用 Ada 编写的已交付应用程序?
例如,其中是否编写了 CRUD 应用程序?还是游戏?等等。
当人们想到艾达时,人们通常会想到航空电子设备。
我感兴趣的是 Ada 的其他一些应用?它在哪里使用?是否有任何用 Ada 编写的已交付应用程序?
例如,其中是否编写了 CRUD 应用程序?还是游戏?等等。
Michael Feldman 积极维护“谁在使用 Ada/Real-World Projects ”列表,其中列出了所有类型的军事和商业项目。而且因为他对贡献者保密,项目将在那里出现,否则他们的公司赞助商不会将其作为“Ada Inside”项目进行讨论。
除了安全关键系统之外,只有当您有许多团队在一个非常大的项目上工作并且逻辑源代码行数超过大约 1 或 200 万行时,Ada 才会真正发挥作用。
正是在那个时候,你有时认为有点迂腐并增加了太多代码大小的所有 Ada 语言定义的运行时检查变得非常有用。修复数百万行代码中的某个错误从来都不是一件有趣的事;运行时检查确实有助于更早、更接近地发现问题。
不幸的是,许多专业使用过 Ada 83 或 Ada 95 的软件开发人员无法告诉您他们从事的项目。我听说它也用于空中交通管制系统(在各个国家)、铁路运输系统(如巴黎地铁和香港地铁)和银行/金融(路透社等)领域。
它是一种非常好的语言,有人提倡使用它,因为它是一种很好的语言,但有时,当你几个月或几年没有看到分段错误或真正令人讨厌的崩溃时,你开始想用 C++ 编写代码再次...
它最初是 DoD 的首选语言,因此您会在 DoD 程序中找到它。NASA 和 FAA 也是大用户。由于这个基础,许多商业航空航天也使用它(尽管这可能是“安全关键”)。例如,我认为波音 777 中的大部分软件都是在 Ada 开发的。我认为欧洲航天局也经常使用它。
也就是说,它真的没有被使用得足够多。例如,它自然几乎不受缓冲区溢出漏洞的影响,因此它确实应该是操作系统开发的首选语言。
我不确定,但是,在阅读了很多关于 Ada 的内容后,我认为它非常适合所有与物理相关的计算/自动化任务,因为所有这些编译时和运行时检查(一个很好的事情是您可以制作两种不兼容的浮点类型,例如长度和质量)。
Ada 在庞大的、遗留的、以政府为目标的项目中仍然很受欢迎。它也是VHDL的基础。