8 ms·
https://web.archive.org/web/20111219004314/http://journal.thedacs.com:80/issue/53/158 https://web.archive.org/web/20111219004314/http://journal.th... (reference
by bri3d 10mo ago
https://web.archive.org/web/20111219004314/http://journal.thedacs.com:80/issue/53/158 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.
- pyuser583 10mo agoYeah I find myself wishing it would take off again. I’m sure I’m idealizing it, but at least I’m not demonizing it like folks did back in the day.
- ecshafer 10mo agoI'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++.
- blub 10mo agoThe exact opposite of what you suggest already happened: Ada was mandated and then the mandate was revoked. It’s generally a bad idea to be the only customer of a specific product, because it increases costs. > And the F35 and America's combat readiness would be in a better place today with Ada instead of C++ What’s the problem with the F35 and combat readiness? Many EU countries are falling over each-other to buy it.
- KolmogorovComp 10mo ago> Many EU countries are falling over each-other to buy it They are not buying it for its capabilities though, but to please their US ally/bully which would have retaliated economically otherwise. See the very recent Swiss case were theirs pilots had chosen another aircraft (the french Rafale), only to be disavowed by their politics later on.
- gghffguhvc 10mo agoThe pilots might have reassessed after Pakistan seemed to have shot three of them down from over 200km range. Intel failure blamed but likely many factors of which some presumably may be attributed to the planes.
- psunavy03 10mo agoPakistan has never downed an F-35.
- KolmogorovComp 10mo agoThey were talking about the Rafales. But I think the comment is irrelevant anyway as the scandal happened before that iirc.
- gghffguhvc 10mo agoI poorly worded it. Rafales allegedly shot down. After that happened, perhaps the pilots wanting them over F35s might have a different opinion. F35s might be harder to get a lock on at that distance and might have better situational awareness capabilities.
- varjag 10mo agoMuch of existing European F-35 fleet predates Trump's first term. In fact now quite the opposite happens: other options being eyed from reliable partners, even if technically inferior.
- 10mo ago
- skepti 10mo agoWhy 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 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]
- fauigerzigerk 10mo ago> Why require that companies use a specific programming language instead of requiring that the end product is good? I can think of two reasons. First, achieving the same level of correctness could be cheaper using a better language. And second, you have to assume that your testing is not 100% correct and complete either. I think starting from a better baseline can only be helpful. That said, I have never used formal verification tools for C or C++. Maybe they make up for the deficiencies of the language.
- skepti2 10mo agoHow do you define a better programming language, how do you judge whether one programming language is better than another, and how do you prevent corruption and cartels from taking over? If Ada was "better" than C++, why did Ada not perform much better than C++, both in regards to safety and correctness (Ariane 5), and commercially regarding its niche and also generally? Lots of companies out there could have gotten a great competitive edge with a "better" programming language. Why did the free market not pick Ada? You could then argue that C++ had free compilers, but that should have been counter-weighed somewhat by the Ada mandate. Why did businesses not pick up Ada? Rust is much more popular than Ada, at least outside Ada's niche. Some of that is organic, for instance arguably due to Rust's nice pattern matching and modules and crates. And some of that is inorganic, like how Rust evangelists through force, threats[0], harassment[1] and organized and paid media spam force Rust. I also tried Ada some time ago, trying to write a tiny example, and it seemed worse than C++ in some regards. Though I only spent a few hours or so on it. [0]: https://github.com/microsoft/typescript-go/discussions/411#discussioncomment-12464988 https://github.com/microsoft/typescript-go/discussions/411#d... [1]: https://lkml.org/lkml/2025/2/6/1292 https://lkml.org/lkml/2025/2/6/1292 > Technical patches and discussions matter. Social media brigading - no than\k you. > Linus https://archive.md/uLiWX https://archive.md/uLiWX https://archive.md/rESxe https://archive.md/rESxe
- IshKebab 10mo agoI 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.
- skepti 10mo agoAs 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 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]
- zeroc8 10mo agoAda 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.
- skepti2 10mo ago> 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.
- lallysingh 10mo agoNo they won't. DoD is small compared to the rest of the software market. You get better quality and lower cost with COTS than with custom solutions, unless you spend a crap ton. The labor market for software's no different. Everyone likes to crap on C++ because it's (a) popular and (b) tries to make everyone happy with a ton of different paradigms built-in. But you can program nearly any system with it more scalably than anything else.
- adrianN 10mo agoIn my experience people criticize C++ for its safety problems. Safety is more important in certain areas than in others. I’m not convinced that you get better quality with C++ than with Ada
- bmitc 10mo ago> more scalably than anything else That's quite debatable. C++ is well known to scale poorly.
- lallysingh 10mo agoYet the largest codebases I know of are either C, Fortran, or C++. Who's doing anything really big (in terms of LOC) in another language?
- bmitc 10mo agoC/C++ basically demand that codebases be large. And we hear all the time about software troubles written in these languages. Finding reports of this are almost endless. I think people who write complex applications in more sane languages end up not having to write millions of lines of code that no one actually understands. The sane languages are more concise and don't require massive hurdles to try and bake in saftey into the codebase. Safety is baked into the language itself.
- nmz 10mo agoGo was built because C++ does not scale. Anybody that's ever used a source based distro knows that if you're installing/building a large C++ codebase, better forget your PC for the day because you will not be using it. Rust also applies here, but at least multiplatform support is easier, so I don't fault it for slow build times
- exDM69 10mo ago> If the DoD enforces the requirement for Ada, Universities, job training centers, and companies will follow DoD did enforce a requirement for Ada but universities and others did not follow. The JSF C++ guidelines were created for circumventing the DoD Ada mandate (as discussed in the video).
- p_l 10mo agoTL;DR Ada programmers were more expensive
- adolph 10mo agoSince when was expense a problem for defense spending? In the video, the narrator also claims that Ada compilers were expensive and thus students were dissuaded from trying it out. However, in researching this comment I founds that the Gnat project has been around since the early 90s. Maybe it wasn't complete enough until much later and maybe potential students of the time weren't using GNU? The GNAT project started in 1992 when the United States Air Force awarded New York University (NYU) a contract to build a free compiler for Ada to help with the Ada 9X standardization process. The 3-million-dollar contract required the use of the GNU GPL for all development, and assigned the copyright to the Free Software Foundation. https://en.wikipedia.org/wiki/GNAT https://en.wikipedia.org/wiki/GNAT
- jll29 10mo agoThe DOD could easily have organized Ada hackathons with a lot of prize money to "make Ada cool" if they had chosen to in order to get the language out of the limelight. They could also have funded developing a free, open source toolchain.
- jandrese 10mo agoAda would never have been cool. Ironically I remember one of the complaints was it took a long time for the compilers to stabilize. They were such complex beasts with a small userbase so you had smallish companies trying to develop a tremendously complex compiler for a small crowd of government contractors, a perfect recipe for expensive software. I think maybe they were just a little ahead of their time on getting a good open source compiler. The Rust project shows that it is possible now, but back in the 80s and 90s with only the very early forms of the Internet I don't think the world was ready.
- dexterous 10mo agoI agree that the "there aren't enough programmers for language X" argument is generally flawed. Acceptable cases would be niches like maintenance of seriously legacy or dying platforms. COBOL anyone? But, not because I think schools and colleges would jump at the opportunity and start training the next batch of students in said language just because some government department or a bunch of large corporations supported and/or mandated it. Mostly because that hasn't actually panned out in reality for as long as I can remember. Trust me, I _wish_ schools and colleges were that proactive or even in touch with with the industry needs, but... (shrug!) Like I said, I still think the original argument is flawed, at least in the general case, because any good organization shouldn't be hiring "language X" programmers, they should be hiring good programmers who show the ability to transfer their problem solving skills across the panopticon of languages out there. Investing in getting a _good_ programmer upskilled on a new language is not as expensive as most organizations make it out to be. Now, if you go and pick some _really obscure_ (read "screwed up") programming language, there's not much out there that can help you either way, so... (shrug!)
- goalieca 10mo agoI’ve learned most languages on the job: c#, php, golang, JavaScript, … I know others who learned ADA on the job. It’s not too terrible.
- pjmlp 10mo agoGiven that there are still 7 vendors selling Ada compilers I always found that argument a bit disingenuous. https://www.adacore.com/ https://www.adacore.com/ https://www.ghs.com/products/ada_optimizing_compilers.html https://www.ghs.com/products/ada_optimizing_compilers.html https://www.ptc.com/en/products/developer-tools/apexada https://www.ptc.com/en/products/developer-tools/apexada https://www.ddci.com/solutions/products/ddci-developer-suite https://www.ddci.com/solutions/products/ddci-developer-suite... http://www.irvine.com/tech.html http://www.irvine.com/tech.html http://www.ocsystems.com/w/index.php/OCS:PowerAda http://www.ocsystems.com/w/index.php/OCS:PowerAda http://www.rrsoftware.com/html/prodinf/janus95/j-ada95.htm http://www.rrsoftware.com/html/prodinf/janus95/j-ada95.htm What is true, is that those vendors, and many others, like UNIX vendors that used to have Ada compilers like Sun, paying for Ada compilers was extra, while C and C++ were already there on the UNIX developers SKU (a tradition that Sun started, having various UNIX SKUs). So schools and many folks found easier to just buy a C or C++ compiler, than an Ada one, with its price tags. Something that has helped Ada is the great work done by Ada Core, even if a few love hating them. They are the major sponsor for ISO work, and spreading Ada knowledge on the open source community.
- skepti 10mo agoAnother factor for Ada not being more popular is probably: https://en.wikipedia.org/wiki/Ariane_flight_V88 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]
- pjmlp 10mo agoPeople love to point that out, missing the amount of failures in C derived languages.
- skepti2 10mo ago> 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. Are you sure? I cannot even find Ada in [0]. I tried modifying some Hello World example in Ada some weeks ago, and I cannot say that I liked the syntax. Some features were neat. I had some trouble with figuring out building and organizing files. Like C++, and unlike Rust I think, there are multiple source file types, like how C++ has header files. I also had trouble with some flags, but I was trying to use some experimental features, so I think that part was on me. [0]: https://redmonk.com/sogrady/2025/06/18/language-rankings-1-25/ https://redmonk.com/sogrady/2025/06/18/language-rankings-1-2...
- jandrese 10mo agoThe funny thing is the promise of Ada was "if it compiles it won't crash at runtime" which has a lot of overlap with Rust.