Disclaimer: I am no longer an employee of or have any contact with the
group that produces said product, but I once worked in the department and
around the area. I have no inside knowledge, or do I even know if my
former company produced said devices.
A few years back I was one of the new guys in the Rockwell GPS guided
munitions department (though I was working on attitude determination), so I
can say that the software is most likely (95%) written in either Jovial or
Ada. The baseline for the product came from some Jovial code from the
birth of GPS and long maintained, though our project did all of its work in
Ada laying a strong foundation.
The reason I write this, though, has nothing to do with the language. When
you are talking of the scale of shooting bombs, the error margins are so
tight as to be ridiculous. For our attitude determination system, an error
of 1 mil (1/6th of a degree) was not really tolerable if you are shooting a
cannon over several kilometers. Mind you, our system was still a good
order of magnitude over any magnetic solution, and significantly less
noisy, but the systems engineering effort to establish good algorithms and
compensate for that pesky embedded bug known as the 'real world' far
overshadows trivial matters such as range checks.
The point being, if the targets were missed, it is not an indication of a
software error, but immature algorithms. If the general's car was hit
cause the munitions went the wrong way, it probably was.