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.
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.
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.
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.
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...
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).
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.
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.