6 ms·
> 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 ecosyst
by 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 agoThat was a great read!
- Jtsummers 1y agohttps://news.ycombinator.com/item?id=7824570 https://news.ycombinator.com/item?id=7824570 - The one time it's been submitted that I know of. 112 comments so a pretty good discussion.
- ltbarcly3 1y ago"Am I out of touch? No it's the children who are wrong." This argument eats itself. It's just an accusation that people who disagree with you are irrational, and their arguments are in bad faith. It's not a valid argument because it doesn't even depend on any context or facts of the actual discussion which he's using it. It's the definition of cope. In the end, even if we can't be sure why Ada failed, it failed spectacularly. It had massive institutional backing and never made it past obscurity. I don't know exactly why people dislike it so much, maybe because everyone already knew C, C was well supported, every single OS was written in C, etc, so trying to bring some incompatible algol like language (always a popular lineage hahaha) with very sparse to nonexistent tooling and very theoretical advantages, especially considering the huge performance disadvantage at the time on highly constrained resources of computers at the time was not likely to succeed on its face.
- Jtsummers 1y agoThis claim is false (when considered in context of the 1980s when the first Ada spec was released): > every single OS was written in C. No, they weren't. In fact, some were written in Algol-like languages such as Pascal.
- ltbarcly3 1y agoThe only exception I can think of is early versions of mac os, which was still primarily assembly. Even then i recall people went out of their way to use C despite needing pascal calling convention for system calls. They basically immediately regretted using pascal and started a march towards C and basically gave up on pascal before the powerpc. So Pascal had one mainstream OS for about 10 years, most of which time it was being phased out.
- eggy 1y agoFor my safety-critical automation software for a machine that will operate around people and overhead, I’m choosing Ada/SPARK2014. Its decades-long track record in high-integrity domains like aerospace, defense, and medical systems ensures reliability for applications where human safety is paramount. SPARK2014’s formal verification tools mathematically prove the absence of runtime errors, aligning with standards like DO-178C and ISO 26262, critical for my Q3 2026 market deadline. While Rust is gaining traction for memory safety, its formal verification tools, like LEAN/Aeneas, are still maturing and lack the production-ready ecosystem of Ada/SPARK2014. Ada’s clear, structured syntax simplifies code reviews, and its tooling generates certification reports familiar to regulators, streamlining approval processes. For my project’s safety and business needs, Ada/SPARK2014 is the proven choice - for now. I am not a fan of Rust syntax or complexity, but that is somewhat subjective. I last dove in about 2 years ago.
- steveklabnik 1y agoIncidentally, Rust does have an ISO 26262 qualified compiler, though DO-178C isn't here just yet.
- MaxBarraclough 1y agoDoesn't Rust lack a serious language specification? How can compilers be certified without a definitive record of how the language is meant to behave?
- steveklabnik 1y agoA language specification is not required to be qualified. The behavior of the compiler needs to be described. https://rust-lang.github.io/fls/ https://rust-lang.github.io/fls/ This is effectively a fork of the Rust Reference, made by Ferrous, and laid out in a way that allowed the compiler to be qualified. It now lives at this URL, because it's being adopted by upstream as the spec.
- MaxBarraclough 1y ago
- steveklabnik 1y ago> Do you have sources you could point to? This report is of interest to you: https://nap.nationalacademies.org/read/5463/chapter/1#vii https://nap.nationalacademies.org/read/5463/chapter/1#vii > It is in this context that Assistant Secretary of Defense (Command, Control, Communications, and Intelligence) Emmett Paige, Jr., requested that the National Research Council's Computer Science and Telecommunications Board (CSTB) review DOD's current programming language policy. Convened by CSTB, the Committee on the Past and Present Contexts for the Use of Ada in the Department of Defense was asked to: > * Review DOD's original (mid-1970s) goals and strategy for the Ada program; > * Compare and contrast the past and present environments for DOD software development; and > *Consider alternatives and propose a refined set of goals, objectives, and approaches better suited to meeting DOD's software needs in the face of ongoing technological change. https://www.militaryaerospace.com/communications/article/16710265/dod-officials-eye-scrapping-mandate-to-use-ada-programming https://www.militaryaerospace.com/communications/article/167... is an article from 1997 about this, and here's what it has to say: > Paige says he believes industry engineers will be more likely to accept the benefits of using Ada if DOD leaders recommend, not require, the language. Software engineers, who would rather choose a language based on its merits rather than because of a governmental mandate, historically have resisted the Ada mandate on principle. and > Chief complaints about Ada since it first became a military-wide standard in 1983 centered on the perception among industry software engineers that DOD officials were "shoving Ada down our throats." This is basically the story: The DoD tried to mandate it, people resisted, and made liberal use of the ability to be granted an exception, and so they eventually gave up. The first link contains much more nuance, some excerpts: > In decisions affecting adoption of programming languages, non-technical factors often dominate specific technical features. These factors include the broad availability of inexpensive compilers and related tools for a wide variety of computing environments, as well as the availability of texts and related training materials. In addition, grass-roots advocacy by an enthusiastic group of early users, especially in educational and research institutions, often has broad influence on adoption of programming languages. These advantages were largely absent when Ada was introduced in 1980. In contrast, C++ and Java both have achieved widespread acceptance and use. The strong military orientation of the publicity generated for Ada also may have served to alienate significant portions of the academic and research communities. > Ada has not been widely taught in colleges and universities, particularly compared with Pascal, C, and C++; until recently, even the military academies taught programming in languages other than Ada > Historically, compilers and other language-specific tools for Ada have been significantly more costly and slower in coming to market than those for C and C++. > Software engineers are likely to be interested in enhancing skills that they expect to be most valuable in the software engineering marketplace, which is now dominated by commercial opportunities. Thus, programmers have moved quickly to learn Java and Hypertext Markup Language (HTML; used to develop pages for the World Wide Web) because they see these as the next wave, which can carry them to new career opportunities. Similarly, software engineers might avoid using Ada if they see it as limiting their careers.
- deaddodo 1y ago> mired by a designed by committee ecosystem Can you point to a production language today that doesn't have a committee leading it's development? C, C++, Rust, Javascript, Python, etc. All have committees leading their development. The only difference with Ada was that, for a long time, that committee was in the DoD (which has plenty of fine engineers, given it's practical achievements) instead of ISO/ANSI. And instead of being focused on general purpose, they had a clear domain they prioritized. That's different now, but it's hard to erase a few decades of heritage.