views:

964

answers:

7

When one thinks of Ada, one usually thinks of avionics.

What I'm interested in are some other applications of Ada? Where is it used? Are there any shipped applications written in Ada?

For example, are there CRUD apps written in it? Or games? Etc.

+1  A: 

Ada was originally conceived as a language to consolidate the very large number of languages used to build systems for the US military. So you will find it used a lot in applications in the domain of defense systems. For an example of such as application have a look at the Tokeneer case study, whose source code is now available online.

Diomidis Spinellis
Yeah, true. I guess I wasn't specific (or general, take your pick) enough ;)
TraumaPony
+1  A: 

Not in quantity. Until GNAT came along Ada compilers and development tooling were very expensive and typically only supported expensive hardware like Suns, Vaxen or IBM Mainframes.

There is a bit of it around - various outfits do safety-critical stuff with SPARK but it tends (although not exclusively) to be bespoke work.

ConcernedOfTunbridgeWells
+7  A: 

Apart from safety critical systems, Ada only really shines when you have many teams working on a very large project and the number of logical source lines of code exceeds about 1 or 2 million.

It's at that point when all the Ada language defined runtime checks that you sometimes thought were a bit pedantic and increased the code size by too much, became really useful. Fixing a bug somewhere in millions of lines of code is never fun; the runtime checks really help detect problems earlier and closer to where they occur.

Unfortunately, many software developers who have used Ada 83 or Ada 95 professionally can't tell you about the projects that they have worked on. I've heard that it's also used in the areas of Air Traffic Control Systems (in various countries), Railway Transportation Systems (such as Paris Metro and Hong Kong Subway) and Banking/Finance (Reuters and others).

It is a very good language and there are people who advocate its use because it's a good language, but sometimes, when you haven't seen a segmentation fault or really nasty crash in months or maybe years, you start to want to code in C++ again...

Nelson
+3  A: 

I don't know for sure, but, having read a lot about Ada, I considered it to be perfectly appropriate for every physics-related computational/automation tasks, because of all these compile-time and runtime checks (one tasty thing is that you can make two incompatible floating-point types, e.g. Length and Mass).

AnSGri
Absolutely true. However, as recently as 10 years ago and it may still be true now, Physics undergrads were still taught FORTRAN 77. And then we laughed at the Maths undergrads when they complained about having to learn FORTRAN.
Nelson
Where I work (flight simulation industry) we are still writing new Fortran code. Just because a language isn't used to make a lot of webservers doesn't mean it is "dead".
T.E.D.
+11  A: 

Michael Feldman actively maintains a "Who's Using Ada/Real-World Projects" list that lists all types of military and commercial projects. And because he maintains contributor confidentiality, projects will show up there that wouldn't otherwise be discussed by their corporate sponsors as "Ada Inside" projects.

Marc C
+4  A: 

It started life as the DoD's preferred language, so you will find it all over DoD programs. NASA and the FAA are big users too. Because of that base, a lot of commericial aerospace uses it too (although that is probably "safety critical"). For instance, I think most of the software in the Boeing 777 was developed in Ada. I think the European space agency uses it a lot too.

That said, it really isn't used nearly enough. For instance, it is naturally almost immune to buffer overflow exploits, so it really ought to be the preferred language for OS development.

T.E.D.
+1  A: 

Ada is still popular in colossal, legacy, government-targeted programs. It's also a basis for VHDL.

Nate