>>29
Strongly typed static languages catch a lot of bugs at compile time. While tricks that involve seeing "data types as a suggestion" let you do cool things that you can't do in other languages when done right, they are a source of bugs when done wrong, and in either case often produce code that is harder for someone else to read.
The DoD needs all of their code to be easily auditable. Furthermore they want a coding standard that maximizes readability and minimizes bugs[1].
It is really hard to enforce some standard like "only do this bug-prone wonky trick if you know what you're doing and document it well."
It is a lot easier to just say "don't do this"
If you don't allow these tricks, then you can use a language that doesn't allow these tricks. This has the advantage of catching bugs that might otherwise go unnoticed and often at compile time.
After you take all this, consider that there was no standard for C even in the works when Ada was developed and there was a feature set they wanted that didn't exist in any mature language. They would have had to either make a "DoD C" dialect if they wanted to use C. Also C (and C-like languages) did not have the dominance that they have today[2]. It made sense to just write a language from scratch, borrowing the look from a well known language of the time (Pascal).
Ada never got popular outside of government circles. I'll try to list a few things that probably affected its popularity
* It is a lot harder to write an Ada compiler than a C compiler. C was designed to be easy to write a compiler for, so it is a lower cost of entry business to write a C compiler.
* When you brand a language as "the X language" then people will tend to only use it for X. Ada was the DoD language. Kind of like lisp was the AI language.
* C became more popular than Pascal. Ada is a pascal-like language in the same sense that C++, java, C#, etc. are c-like languages. People are more comfortable with languages that look more familiar
Oh, and to answer the original question, I don't think that learning Ada is going to make you much more attractive to a defense contractor unless you can use it at your current job. Less and less new code is being written in Ada each year, and for maintaining old code they prefer to hire someone with a lot of SW experience.
[1]I'm not saying that they've acheived it, come close, or even headed in the right direction most of the time. I'm just stating a goal they have
[2]The SW engineer from that era that I know best did not learn C until the early 80s; most of his work was in fairly low level languages, though he did know Fortran and Pascal.