军方仍然在使用 Ada 编程语言吗?

4

我现在已经会很多种编程语言了。10多年前,当我18岁时,我差点加入美国空军,那时有一场关于Ada的测试。现在,Ada编程语言是否仍然像以前那样在军方中重要呢?

我想知道新的军事软件项目是否仍然使用Ada作为首选语言。


2
这可能是因为不同国家有所不同(在美国和英国可能不同)。而且你的问题涉及到个人观点,与求职相关(即职业建议),与问题中展示的源代码无关,因此在这里三重离题。 - Basile Starynkevitch
我理解这并不涉及特定的代码(除非你考虑Ada代码库和语言总体),但这并不是为了求职。那只是我第一次了解它的地方。 - xendi
3个回答

4
今天仍在开发Ada语言的新项目。虽然要求使用Ada的规定已经废除多年,但对于某些应用程序来说,Ada仍是唯一可靠(“可信”)的选择。 Ada the Language: Alive and in Flight - October 10, 2016摘录:
在近二十年间,Ada编程语言一直是美国国防部(DOD)努力改善其软件工程实践的基石。DOD在1970年代创建了Ada,以作为一种全面的标准,满足其嵌入式和关键任务软件的特殊要求,并促进良好的软件工程。新的语言和与之相关的新软件工程思想都受到了一些批评,两者都因此而发展。今天,Ada是最常用于任务关键的国防软件的语言,包括武器系统和性能关键的指挥、控制、通信和情报(C3I)系统。 DOD的库存中包含了近5000万行Ada代码用于这些应用程序(Hook等人,1995年)。考虑到这种系统的长期运营寿命,DOD已经对Ada技术进行了重大投资。Ada是DOD自动化信息系统中第二常用的语言(仅次于Cobol),其中包括支付和后勤程序。 DOD的库存中包含了超过800万行的Ada代码用于这些应用程序(Hook等人,1995年)。

4
在2016年11月,美国国家标准与技术研究所(NIST)发布了报告NIST-IR-8151“显著降低软件漏洞”。该报告可在https://doi.org/10.6028/NIST.IR.8151上获取。 以下是该报告的摘录: “软件度量和指标以降低安全漏洞(SwMM-RSV)”研讨会上的两个演示文稿,Andrew Walenstein的“测量软件可分析性”和James Kupsch的“处理静态分析不透明代码”,指出了新软件度量的方向。两者都强调代码应易于自动分析。两个演示文稿提出了定义代码容易分析的含义、为什么可分析性有助于减少漏洞以及如何衡量和增加可分析性的方法。 有些编程语言的子集被设计为可分析的,例如SPARK,或者被设计为较少出错的,例如Less Hatton的SaferC。研讨会参与者普遍倾向于使用更好的语言,例如函数式语言,例如F#或ML。然而,并没有特别建议未来的语言或语言。 我们注意到,除Ada 2012 [Barnes13]等少数例外,新语言的工具支持很差。支持构建工具对于采用和安全使用新语言至关重要。

1

是的,由于Ada在任务关键型设备中使用,如果出现软件错误可能会导致重大灾难(例如航空电子设备、空中交通管制和当然还有军事领域),因此它仍然被这些行业使用,我认为它们不会改变。


1
在民用飞机(例如空中客车)中广泛使用C语言(配合一些形式化方法)。 - Basile Starynkevitch
@BasileStarynkevitch 很好知道,谢谢。 - zerohero
@BasileStarynkevitch Airbus同样使用Ada。 - NWS
在民用飞机(例如空中客车)中,广泛使用C语言。将来我会避免坐空中客车的飞机。 - smirkingman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接