←back to thread

327 points AareyBaba | 1 comments | | HN request time: 0.211s | source
Show context
bri3d ◴[] No.46185823[source]
https://web.archive.org/web/20111219004314/http://journal.th... (referenced, at least tangentially, in the video) is a piece from the engineering lead which does a great job discussing Why C++. The short summary is "they couldn't find enough people to write Ada, and even if they could, they also couldn't find enough Ada middleware and toolchain."

I actually think Ada would be an easier sell today than it was back then. It seems to me that the software field overall has become more open to a wider variety of languages and concepts, and knowing Ada wouldn't be perceived as widely as career pidgeonholing today. Plus, Ada is having a bit of a resurgence with stuff like NVidia picking SPARK.

replies(5): >>46188588 #>>46188799 #>>46189574 #>>46190668 #>>46196352 #
ecshafer ◴[] No.46188799[source]
I've always strongly disliked this argument of not enough X programmers. If the DoD enforces the requirement for Ada, Universities, job training centers, and companies will follow. People can learn new languages. And the F35 and America's combat readiness would be in a better place today with Ada instead of C++.
replies(7): >>46189342 #>>46189545 #>>46189754 #>>46190651 #>>46191046 #>>46192553 #>>46192991 #
IshKebab ◴[] No.46189754[source]
I agree. First of all I don't think Ada is a difficult language to learn. Hire C++ programmers and let them learn Ada.

Secondly, when companies say "we can't hire enough X" what they really mean is "X are too expensive". They probably have some strict salary bands and nobody had the power to change them.

In other words there are plenty of expensive good Ada and C++ programmers, but there are only cheap crap C++ programmers.

replies(4): >>46189872 #>>46190145 #>>46194786 #>>46203251 #
skepti ◴[] No.46189872[source]
As I wrote to someone else:

Why require that companies use a specific programming language instead of requiring that the end product is good? > And the F35 and America's combat readiness would be in a better place today with Ada instead of C++.

What is the evidence for this? Companies selling Ada products would almost certainly agree, since they have a horse in the race. Ada does not automatically lead to better, more robust, safer or fully correct software.

Your line of argument is dangerous and dishonest, as real life regrettably shows.[0]

[0]: https://en.wikipedia.org/wiki/Ariane_flight_V88

> The failure has become known as one of the most infamous and expensive software bugs in history.[2] The failure resulted in a loss of more than US$370 million.[3]

> The launch failure brought the high risks associated with complex computing systems to the attention of the general public, politicians, and executives, resulting in increased support for research on ensuring the reliability of safety-critical systems. The subsequent automated analysis of the Ariane code (written in Ada) was the first example of large-scale static code analysis by abstract interpretation.[9]

replies(1): >>46190572 #
zeroc8 ◴[] No.46190572[source]
Ada and especially Spark makes it a whole lot easier to produce correct software. That doesn't mean it automatically leads to better software. The programming language is just a small piece of the puzzle. But an important one.
replies(1): >>46190749 #
skepti2 ◴[] No.46190749[source]
> Ada and especially Spark makes it a whole lot easier to produce correct software.

Relative to what? There are formal verification tools for other languages. I have heard Ada/SPARK is good, but I do not know the veracity of that. And Ada companies promoting Ada have horses in the race.

And Ada didn't prevent the Ada code in Ariane 5 from being a disaster.

> The programming language is just a small piece of the puzzle. But an important one.

100% true, but the parent of the original post that he agreed with said:

> And the F35 and America's combat readiness would be in a better place today with Ada instead of C++.

What is the proof for that, especially considering events like Ariane 5?

And Ada arguably has technical and non-technical drawbacks relative to many other languages.

When I tried Ada some weeks ago for a tiny example, I found it cumbersome in some ways. Is the syntax worse and more verbose than even C++? Maybe that is just a learning thing, though. Even with a mandate, Ada did not catch on.

replies(4): >>46190955 #>>46193138 #>>46194155 #>>46197749 #
1. IshKebab ◴[] No.46197749[source]
> Relative to what?

Relative to C++.

> There are formal verification tools for other languages.

None that are actually used.

I have no horse in this race and I have never actually written any Ada, but it seems pretty clear to me that it would produce more correct code on average.

Looking at the Ariane 5 error it looks like the specifically disabled the compile-time error: https://www.sarahandrobin.com/ingo/swr/ariane5.html

That's nothing to do with Ada.

Also asking for evidence is a red herring. Where's the evidence that Rust code is more likely to be correct than Perl? There isn't any. It's too difficult to collect that evidence. Yet it's obviously true.

Plenty of things are pretty obviously true but collecting scientific evidence of them is completely infeasible. Are code comments helpful at all? No evidence. Are regexes error-prone and hard to read? No evidence. Are autoformatters helpful? No evidence.