Is the Ada programming language still relevant in the military?

5k views Asked by At

I know a lot of programming languages now. Back when I was 18 I almost joined the US Air Force and there was a test on Ada. That was over a decade ago. Is the Ada programming language still relevant in the military as it once was?

I'm wondering if new military software projects are still programmed using Ada as their go to language.

3

There are 3 answers

0
Joshua Briefman On BEST ANSWER

There are still new projects being developed in Ada today. The mandate requiring Ada was scrapped years ago, but for some applications, Ada is the only reliably ("trusted") option.

Ada the Language: Alive and in Flight - October 10, 2016 Excerpt:

The Changing Context for DOD Software Development For nearly two decades, the Ada programming language has been a cornerstone of efforts by the Department of Defense (DOD) to improve its software engineering practices. DOD created Ada in the 1970s to serve as a department-wide standard that would satisfy its special requirements for embedded and mission-critical software, and would also encourage good software engineering. Both the new language and the new software engineering ideas associated with it met with some criticism, and both have evolved as a result. Today, Ada is the most commonly used language for mission-critical defense software, which includes weapon systems and performance-critical command, control, communications, and intelligence (C3I) systems. DOD's inventory contains nearly 50 million lines of Ada code in these applications (Hook et al., 1995). Given the long operational life of such systems, DOD has made a significant investment in Ada technology. Ada is the second most commonly used language (after Cobol) for DOD automated information systems, which include payroll and logistics programs. The DOD inventory contains more than 8 million lines of Ada code in these applications (Hook et al., 1995).

4
zerohero On

Yes, since Ada is used where mission critical devices can cause major disasters in case of a software bug (like in avionics, air traffic control and of course military), it is still used in those industries and I doubt they will change.

0
Jim Rogers On

In November 2016 the US National Institute of Standards and Technology (NIST) published the report NIST-IR-8151 "Dramatically Reducing Software Vulnerabilities". The report is available at https://doi.org/10.6028/NIST.IR.8151. The following is an excerpt from that report:

Two presentations at the Software Measures and Metrics to Reduce Security Vulnerabilities (SwMM-RSV) workshop, Andrew Walenstein’s “Measuring Software Analyzability” and James Kupsch’s “Dealing with Code that is Opaque to Static Analysis,” point the direction to new software measures. Both stressed that code should be amenable to automatic analysis. Both presented approaches to define what it means that code is readily analyzed, why analyzability contributes to reduced vulnerabilities and how analyzability could be measured and increased.

There are subsets of programming languages that are designed to be analyzable, such as SPARK, or to be less error-prone, such as Less Hatton’s SaferC. Workshop participants generally favored using better languages, for example, functional languages, such as F# or ML. However, there was no particular suggestion of the language, or languages, of the future.

We note that with few exceptions, such as Ada 2012 [Barnes13], which has SPARK, new languages have poor tool support. Supporting the construction of tools is vital for the adoption and safe use of new languages.