Whatever Happened to the Language of Tomorrow? (Ada and the DoD)

In the 1970s and the 1980s, we had seen the future and it worked. Or at least it would work, because it would be written in the DoD’s favorite language, Uncle Sam’s blue-eyed boy, an all-singing all-dancing Algol derivative called [del]Algol-68[/del] [del]PL/I[/del] Ada! The DoD had mandated that all new software would have to be written in Ada, and since industry follows government a lot of serious business software would be written in Ada as well. No more would Data Processing Professionals have to learn more than one language to do their jobs. The RISKS Digest was dismissive, but the writing was on the wall: Ada now, Ada tomorrow, Ada forever!

And then… nothing. Smalltalk seems to have made more of an impact. Was Ada found in bed with a live debugger or a dead coredump? Are there significant numbers of people working in Ada in some shadowland out of the reach of mere mortals?

It’s still used quite widely in safety critical applications. There’s a subset of it called SPARK that’s eas(y/ier) to verify, and it’s a big source of collaboration between academia and industry developing tools to prove properties of programs written in the language.

Praxis, for instance, uses SPARK (actually, they invented it), and they have a collaboration with the automated reasoning group at Edinburgh. SPARK’s just been chosen by General Dynamics UK as the language to implement part of a new helicopter program for the Royal Navy in, for instance.

Oracle’s PL/SQL language is based on Ada, the syntax, structure the concepts of records, packages and exceptions are all taken from Ada.

There are a lot of people using PL/SQL, I think they just stay quiet because it’s so dull.

This is just my opinion, but I think the dot com boom had a small part in the demise of Ada. The defense contractors lost a lot of programmers to the commercial world. They were looking for ways to compete for recent college graduates and they decided that the way to do that was to offer jobs programming in the popular languages that were being taught in school. At the time, that was C++ and not Ada. Or so they thought.

Personally, I prefer Ada. But, that may just be old-fogey-ism.

Ada is definitely still being used in a number of niche markets, but it isn’t popular for mainstream commercial development. But then again, Ada wasn’t designed to be C# or Java, it was designed to meet a number of requirements for DoD systems, and these requirements also align with those for heavy industry, safety-critical systems, verifiable systems, and so on, and that’s where you find Ada today.

Hm. I’d imagine that Haskell and other languages with provable type systems would be better than Ada (or any other Foogol) at safety-critical software, but, then again, I’d probably expect management to make decisions based on technical rather than business judgment.

It’s interesting to know that Ada is being used in nontrivial ways. I know PL/I is still being used inside IBM, so it seems the only dead language I’ve mentioned so far is Algol-68.

I’ve heard that some government programmers, faced with requirements to write everything in Ada, wrote translators that would convert code from FORTRAN, or C, or whatever their preferred language was, into Ada. Of course, no matter how readable or maintainable or whatever Ada is typically, machine-translated code is always an ugly, unreadable mess, so the requirements didn’t really do much good.