random memes }

Is Ada one of the "Technology Losers"?

An old posting by Tim Bray lists the Ada programming language as one of the "Technology Losers". I suspect this is somewhere between not really accurate, and entirely wrong.

One of the main aims of DARPA in promoting the development of Ada was to give developers a single programming language usable on any DOD project. Before this if you were a programmer on a defense project, your choices were often limited and bizarre. For the hardware in question there was usually an assembler, there might be a FORTRAN compiler, there might be a Jovial compiler, or there might be a compiler for some other odd language you have never used before. The quality of the compiler implementations varied by a lot. The limitations of the compilers varied by a lot. Getting updates to the compiler might be difficult or impossible.

For a programmer working on defense projects, the tools landscape was a real mess. Re-using software between projects was somewhere between difficult and impossible. The DOD was looking to solve this problem.

An aside -- Back in college our project group got tasked with summarising reviews of proposals for Ada Programming Environments. Pretty interesting stuff -- first we read the proposal (somewhat cutting edge for the time), then we read the submitted reviews (also interesting for the viewpoints).

Another aside -- The proposal from Texas Instruments mentioned the use of a recursive-descent parser for Ada. One of the reviewers claimed this to be impossible. We were amused as at that time we were using a recursive-descent parser for Ada, hammered together by one of the group members over a (very long!) weekend.

A few years back I was talking to an old college roommate who has spent his career working on software for defense projects. His observation was that when starting a new project, you could not be sure exactly what sort of compilers might be available, but you could count on Ada as one of the choices.

This is an immense improvement over the past. Ada is a pretty decent programming language -- especially compared to the common alternatives on defense projects. Programmers do not have to learn a new language. You may be able to re-use software from previous projects. You are likely to be able to obtain and use better tools (and re-use tools you have used before).

Calling Ada a "Technology Loser" misses the fact that for the original purpose, Ada is a huge success.