6 ms·
I know the history of why Ada failed, but it always seemed like such a neat language that shouldn't have failed. It seemed like it should have been the standar
by tombert 1y ago
I know the history of why Ada failed, but it always seemed like such a neat language that shouldn't have failed.
It seemed like it should have been the standard for a lot of desktop applications for the 90's and 2000's.
- steveklabnik 1y agoI am curious, knowing that history, why do you think that it shouldn't have? I have my own thoughts that I'd be happy to share, but I don't want to spoil your opinion with them. (This goes for basically anyone who's interested in talking about it, I think it's a fascinating bit of history.)
- tombert 1y agoI just feel like it emphasized safety in a way that C doesn't, while still being fairly high performance. It always seemed like a neat language.
- steveklabnik 1y agoGotcha, thanks :) I wouldn't disagree with either of those things at a high level, but I think in practice, the details matter, and it's more of those details that led to the present state than the high level goals, which certainly were laudable.
- fsckboy 1y agoit's not like we didn't know about safety back then, but computers were slow, memory was limited, compilers had to be small, optimization was rare, and C was screamingly fast. At the same time, when major compiler vendors couldn't even get their Ada compilers out the door in project overruns measured in years, Mitch Kapor's 1-2-3 was written and took over the spreadsheet market (dethroning the incumbent Visicalc) and it was written in assembler, not even C, and barely had memory to spare on user machines (memory? there was barely address space left to spare). The tradeoffs were authentic, and there was zero enthusiasm for Ada among programmers or entrepreneurs looking to get products launched. The mainframe world could have been different but the personal computer software market was exploding in a way larger systems never did. (oh and let me add, all the undefined behaviors back then were very clearly defined (perhaps over a small field of options) and extremely useful, and should have been left that way; shoot out a compiler warning or error if they get your panties in a bunch)
- MisterTea 1y ago> I know the history of why Ada failed, Do you have sources you could point to? I once read that it's a great language mired by a designed by committee ecosystem. I really liked the language when I tinkered with it a bunch around 2010 but moved on after work pushed me to other languages like C# for GUI stuff. First language I used with simple built in concurrency.
- Jtsummers 1y agohttp://www.adapower.com/index.php?Command=Class&ClassID=Advocacy&CID=39 http://www.adapower.com/index.php?Command=Class&ClassID=Advo... Specifically, I think these three paragraphs near the end are critical: > I'm reading a great book now called Why People Believe Weird Things, by Micheal Shermer, in which the author explains what rational thinking is, and how skepticism is a process. Basically, people believe something because that want to, not because of any scientific arguments you make. > There are guys out there who dislike Ada, but they do so because they want to, not because of any rational analysis of its merits or flaws. Sometimes even their arguments are factually incorrect, like saying that "Ada was designed by committee," ignoring the fact that Jean vetoed language design arguments that were 12-to-1 against him. It's not unlike creationists who explain the "fact" that evolution violates the 2nd law of thermodynamics. (No, it does not, as any book on freshman physics will tell you.) > I've explained the reasons Ada why I think is not as popular as C++, and I'd like to hope that it will convince Ada's detractors that Ada isn't so bad after all. But as Robert Dewar pointed out, a person who has made an irrational decision probably isn't going to be swayed by rational arguments! That is, people aren't really rational. A choice was made to dislike it, it entered into the culture and to this day people dislike it because they think they should dislike it. They don't even spend 5 minutes studying it to see that half of what they've heard (if not more) is flat out wrong. In several Ada discussions on HN people claim its syntax is like COBOL's, for instance. Not just similar in being keyword heavy, but practically the same. Sometimes they even provide Ada "examples" that won't even compile. That's the kind of nonsense that happens when people turn off their brains or refuse to turn on their brains. You see it in many Lisp discussions as well.
- MobiusHorizons 1y ago
- imglorp 1y agoFailed what? In its domain, it succeeded in its goals: a high reliability platform for aerospace, defense, and other mission critical domains. It was mandated by the US DoD for all software in the nineties and used in Airbus avionics and aboard the ISS, etc. Its syntax and concepts were considered solid and so was selected as the basis of the VHDL hardware description language, also successful in its domain.
- veqq 1y ago> was mandated by the US DoD Vanishingly little was written in Ada as waivers were too easy to get.
- deaddodo 1y agoEvery former DoD engineer I've spoken to has worked pretty extensively in Ada. From the Phalanx, to the F-15/F-16. C++ didn't start becoming popular in those domains until the mid-00s. The first fighter jet to use it extensively was the the F-35[1], which many of the engineers attribute to it's early issues[2]; not because C++ was bad, but because so much well-tested and hardened code had to be replaced. So, wherever these waivers were, they certainly weren't in those spaces. 1 - https://www.stroustrup.com/JSF-AV-rules.pdf https://www.stroustrup.com/JSF-AV-rules.pdf 2 - https://www.defenseone.com/technology/2025/02/f-35-programs-software-development-isnt-getting-any-better-pentagon-report-finds/402725 https://www.defenseone.com/technology/2025/02/f-35-programs-...
- Jtsummers 1y ago> because so much well-tested and hardened code had to be replaced. Not just software, entire systems. They built their own datalinks instead of aiming for compatibility with existing datalinks or pushing those existing datalinks to a newer version that could meet their needs. In principle, that should have been their first (flight test ready) version. Just get the planes talking to an existing datalink network even if they had some next gen datalink target. But this is also a classic DOD project management problem. They aim for the full system instead of staging out a series of iterative versions. And LM, in their infinite wisdom, hired more developers when they were late and ran their development in shifts. Because everyone knows the best way to get a late project back on track is to hire more people...
- IshKebab 1y agoIt was held back by all of the compilers being commercial for a long time. Also the main advantage it has over C is safety, and nobody really took that seriously until recently (and it doesn't really have an answer for use-after-free which is a huge class of bugs).
- augustk 1y agoThe same thing happened to Bertrand Meyer's language Eiffel.
- technion 1y agoTwo separate classes in my University course was entirely done in Eiffel, I came out with the view it ran businesses everywhere and then never heard it again in the 25 years between then, and reading your comment above.
- Khaine 1y agoMy university's intro course was in Eiffel. For my year they switched to java
- bigger_cheese 1y agoMy intro course at university was also done in Eiffel, this was at the ANU in early 2000's
- shrubble 1y agoThe GNU Ada compiler has been out for decades and was integrated into GCC by 2002.
- myth_drannon 1y agoAda was getting a lot of traction in USSR (so commercial license prices were not a concern) and was pushed in many domains. My father studied it in university in the 80's. But with the Soviet Union collapse all those efforts fizzled.
- jksmith 1y agoIt failed because the C family is far superior - in mindshare and commodity dev experience. Ada may end up with a win to some degree if it plays to a narrative that all software needs to be mission-critical, no matter what the domain. Maybe in degrees, but that's actually true these days. I did some consulting at a major US car manufacturer, and helped with a coding seminar, mostly in java. A fair chunk of those developers struggled with a fizzbuzz exercise. All I can say is this: don't leave your baby in the back seat of an autonomous car just to get out and recharge unless you have consequential trust reciprocation with the manufacturer tantamount to shutting them down if anything tragic happened. Of course, even that price is too low.
- burnt-resistor 1y agoAs used in zillions of aircraft, defense, and aerospace systems, it succeeded wildly. It's not Javascript because not every language needs to serve all stakeholders. Tools in the toolbox, not all-or-nothing religious factions that only "matter" if they ride a hype popularity train. There are many critical technologies all around that are little known.