There are other options, but they’re not suitable for multi-thread programming as Ada now is.
The government was right to push some manner of standard for their software - after all, they were spending a huge whackin’ pile of money on software, in no less than about 15 languages in the 70’s and 80’s. There was no “push down programmers’ throats.” There was a requirement that if you were writing mission critical software for a government contract, you had to write it in Ada or show very good cause why you could not. That’s entirely reasonable.
The reasons why there is so little acceptance of better languages in the US software community has to do with what is taught in CS/EE programs across the country. C came with Unix, and Unix swept across campuses in the 80’s because it was *free* (ie, free as in ‘free beer’.)
While C is/was an OK language for putting up kernels on PDP-11’s, it is a horrible application language.
I agree c is horrible for applications. I actually like C#. I know you’ll probably find that awful, but I like it when writing managed code.
C (or, at least C++) is flexible enough to be as horrible or not as you want to make it. Depending on the libraries and IDE (GUI aids) used, C/C++ isn't nasty at all for application development. It's what I do. (Borland C++ Builder)