Live data from Hacker News

Ada holding up F-22 Raptor upgrades

defensenews.com

11–20 of 38 posts

Re: Ada holding up F-22 Raptor upgrades

#12
post #9
post #8

But I want the lolly NOW!!!! But seriously, Ada is well designed and not difficult. Ada is not part of the problem, this would take longer and be less reliable in C++.

The article actually nails the real reason: the USAF bought far fewer F22s than it originally planned, so things like this that apply equally to 1 or 1000 have to have their cost spread over far fewer individual units. I'll bet that the F22 software is not actually that much more complicated than that controlling a modern car, yet Ford or whoever can spread the cost over a million units.

> I'll bet that the F22 software is not actually that much more complicated than that controlling a modern car, yet Ford or whoever can spread the cost over a million units.

I'll bet it is. A car is significantly simpler than a fighter plane (at all levels of resolution), even when you discount weapons and detection systems. Which you can't discount when you're building software for a plane.

Furthermore, the risks involved in a fly-by-wire avionics soft are much greater than in cars in case of bug or crash: there are no drive-by-wire production cars today, although there are many electronics systems.

Re: Ada holding up F-22 Raptor upgrades

#13
post #9

Earlier quoted context omitted.

The article actually nails the real reason: the USAF bought far fewer F22s than it originally planned, so things like this that apply equally to 1 or 1000 have to have their cost spread over far fewer individual units. I'll bet that the F22 software is not actually that much more complicated than that controlling a modern car, yet Ford or whoever can spread the cost over a million units.

> I'll bet that the F22 software is not actually that much more complicated than that controlling a modern car, yet Ford or whoever can spread the cost over a million units. I'll bet it is. A car is significantly simpler than a fighter plane (at all levels of resolution), even when you discount weapons and detection systems. Which you can't discount when you're building software for a plane. Furthermore, the risks in…

We've had self-landing planes and autopilots for a long time. Self-driving cars are still a long way off. So I would say that don't underestimate what software you need in a car.

And even if the F22 is 10x as complex, Ford still has 100,000 cars to spread the cost across.

Re: Ada holding up F-22 Raptor upgrades

#14
post #5
post #2

OK, everyone here who codes in ADA, raise your hand. Atlas?

I hadn't known much about Ada other than that it's very old (as programming languages go) and it has a kind of nonspecific bad reputation, but I looked it up on Wikipedia and it actually doesn't look like an unpleasant language at all from the article. I particularly like its built-in message-passing system for concurrency: http://en.wikipedia.org/wiki/Ada_(programming_language)#Conc... On projects like this I would…

From my defense software experience with Ada 83 and Ada 95, Ada's concurrency features made it much easier to work with than C. Tasks/processes were a top-level feature of the language, like classes in Java, and the "protected" keyword functioned somewhat like "synchronized" in Java (an implementation of the monitor pattern).

Our compiler package also came with an extensive concurrency API that offered a variety of threadsafe containers comparable (again) to java.concurrent - and this was software from the late 80s/early 90s!

What was bad about Ada was Ada 95. It strove to make Ada into an object-oriented language, but did a poor job of it with some very tortured syntax. edit what Masklinn said - "bolted on" is a perfect way to put it.

Re: Ada holding up F-22 Raptor upgrades

#16
post #2

OK, everyone here who codes in ADA, raise your hand. Atlas?

We had a project in our "Programming Languages" class that consisted of solving a problem in a number of different languages, including Ada, which proved to be the most difficult simply because of the lack of decent resources or guides online. I'm not saying I couldn't get accustomed to it, but with just about any other language you can go online and find a few guides that'll get you acquainted with the paradigm of a language, and I couldn't find anything like that for Ada. Programming in Prolog was easier because at least then I could go to our library and dust off a book from the late '80s about how to write programs in Prolog.

Re: Ada holding up F-22 Raptor upgrades

#17
post #7

Odd story, makes software development in Ada kind of a catch-22. The DoD has used Ada for so long because of the security and correctness constraints built right into the language and compiler. When you're talking about software that's flying a plane (passenger, war time, whatever) it HAS to be right, because if it's wrong, people die. When something HAS to be right, that by itself ensures longer development time and…

I have no idea about their overall code quality but there was a famous F-22 bug found a few years ago where it lost all navigation systems when crossing the international date line. http://www.defenseindustrydaily.com/f22-squadron-shot-down-b...

Date/Time code is notorious. It always seems simpler than it actually is. There are always corner cases you forgot about. None of it is rocket science. Instead, it's the stupid arbitrariness of it that gets you. (Commodity trading is often the same.)

Re: Ada holding up F-22 Raptor upgrades

#18
post #5
post #2

OK, everyone here who codes in ADA, raise your hand. Atlas?

I hadn't known much about Ada other than that it's very old (as programming languages go) and it has a kind of nonspecific bad reputation, but I looked it up on Wikipedia and it actually doesn't look like an unpleasant language at all from the article. I particularly like its built-in message-passing system for concurrency: http://en.wikipedia.org/wiki/Ada_(programming_language)#Conc... On projects like this I would…

There are many nice ideas in Ada, but I have two big issues with it:

1. It's a very lawyery language, there are very few things the compiler will accept to infer, which makes Ada tedious to read and write.

2. The strange mix of underscores and uppercases that is the normal Ada writing style (I believe Ada identifiers are case-insensitive, code from the 80s tends to be VERY_UPPERCASE_HEAVY while the same code now Tends_To_Be_Strangely_Capitalized) makes my head hurt.

And since this is avionics, they're probably dealing with embedded code (which tends to be even less readable) as well...

And as totalc notes, the OO additions of Ada 95 (if you have access to them) feel very bolted on and unnatural.

Post reply on HN