6 ms·
Its interesting how PR works (I'm being earnest) . A library nobody uses for a language almost none of us will ever use (developed by the US government and nev
by ltbarcly3 2y ago
Its interesting how PR works (I'm being earnest) . A library nobody uses for a language almost none of us will ever use (developed by the US government and never adopted for any project for any use case except where required by US contracting requirements, and even then almost always given an exception to not use it) is the top story on HN. Well done.
Please note: I'm not saying Ada is bad, it is a very interesting language and well ahead of it's time. I'm just saying it's not popular or in widespread use when compared to almost any other computer language you can list (which is just an objective fact), so it is interesting to me that this made it to #1. Please try to keep that in mind.
- skissane 2y ago> and never adopted except where required by contract requirements A lot of the software on the Boeing 777 is written in Ada. AFAIK, that was Boeing’s decision, not due to any government contract requirement-as a commercial aircraft, governments are not the primary customers
- ltbarcly3 2y ago[flagged]
- skissane 2y agoAda is the basis of SPARK, [0] which takes Ada and adds formal verification. While no doubt massive overkill for 99.9% of applications, there are a small number of use cases (safety-critical or security-critical code) where it can actually make sense. While in principle you could add formal verification to other languages, I'm not aware of any other such solution with as much mindshare as SPARK. Ada's feature set is already closer to what you need for that purpose than what many other languages offer, so even though SPARK still has to both subset and superset Ada, the same thing with other languages would arguably require both taking more away and adding more. [0] https://en.wikipedia.org/wiki/SPARK_(programming_language) https://en.wikipedia.org/wiki/SPARK_(programming_language)
- jan3024-2r 2y ago[flagged]
- tolerance 2y agoIf that counts as bullying, we need more of it and not insipid contrarianism.
- csb6 2y agoIt is not just one airplane. It is still common in defense and aerospace software, as well as other safety critical code (Nvidia recently started using the SPARK subset for some of their firmware I believe). Just because you don’t know anyone using it doesn’t mean it isn’t used.
- seabird 2y agoWe've been starting code bases in Ada for embedded consumer power generation products for the last year. Huge improvement over C, nobody on the team has any regrets. Just because it isn't topping the TIOBE index doesn't mean it doesn't have its place.
- currymj 2y ago1) memory safety at compiler level, 2) type systems that have dependent types or similar such features, are both things people have gotten interested in again recently, especially because of the excitement around Rust. (you can see this connection from the use of the word "crate" here, which is a Rust term originally.) Ada is a language that had features dealing with these problems way back in the 1980s, so people have suddenly become interested in revisiting it.
- ltbarcly3 2y agoI agree it's an interesting footnote in computer history.
- deleted 2y ago[deleted]
- fresh_broccoli 2y ago>1) memory safety at compiler level Ada isn't memory safe. It doesn't have anything resembling a borrow checker. The spec used to allow an optional garbage collector, but that was never widely used in practice and was removed in Ada 2012. The average production codebase relies on Unchecked_Free/Unchecked_Deallocation for memory management. I find it genuinely baffling that so many people who praise Ada clearly don't know and/or don't use the language.
- trott 2y agoYep, and even without dynamic memory management, Ada is not type-safe: https://www.enyo.de/fw/notes/ada-type-safety.html https://www.enyo.de/fw/notes/ada-type-safety.html Rust also has soundness holes, by the way. This one is almost 10 years old: https://github.com/rust-lang/rust/issues/25860 https://github.com/rust-lang/rust/issues/25860
- steveklabnik 2y agoTons of languages have soundness bugs. While that one is ten years old, there have been zero reports of it ever being found in the wild, and it will finally be fixed relatively soon.
- airstrike 2y ago> Please don't post insinuations about astroturfing, shilling, brigading, foreign agents, and the like. It degrades discussion and is usually mistaken. If you're worried about abuse, email hn@ycombinator.com and we'll look at the data. https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- ltbarcly3 2y ago[flagged]
- johnfn 2y agoRemove that last sentence and I think you make a good point. (Keep it and you really are breaking HN rules.)
- jan3024-2r 2y ago[flagged]
- synergy20 2y agois rust reinventing the wheel here? i have been thinking rust is just the new Ada,but more complicated.
- ltbarcly3 2y agoRust is the new C++ but safe. That's what it is trying to be and pretty much what it is. Ada is not a 'good' language by moderns standards. If you tried to use it you would probably be extremely frustrated. This isn't because it's poorly made, languages have grown a lot since the 80's. The C++ they wrote in 1985 would be extremely frustrating to work with by modern standards too.
- kqr 2y agoAda is also C++ but safe, so I don't see that as a refutation. Ada has been a great language for lower-level code by my (modern) standards. I'm not sure what you're on about and the lack of concrete examples make it hard to guess.
- debugnik 2y ago> If you tried to use it you would probably be extremely frustrated. I actually tried and it was surprisingly pleasant. Ada has also grown since the 80's, the last standard is from 2022. Now, there're still some warts in the spec that I think are holding Ada back, but better UTF-8 support, simpler IO primitives (this could be a library) and a new profile without erroneous execution (i.e. memory safety without Spark) would fix most of them.
- numerosix 2y agoThis is not a fair comment. Feel free to be a hater and spread unfair BS. We use Ada for years for its reliability, efficiency and readiness. We saved men/years thanks to its productivity. FYI, the latest Ada release is 2022 and still innovative.
- shaky-carrousel 2y agoA lot of us hold Ada in high regard. Your comment is a typical example of someone not realizing how much they don't know.
- Capricorn2481 2y agoIt only needed ~20 upvotes to get to the top story. You make it sound like they moved heaven and earth to get on here.
- pyrale 2y ago> never adopted for any project for any use case except where required by US contracting requirements AFAIK, this is wrong. I've seen the language used for a core system continuously developed over decades at a financial institution with no link to the US, for instance.
- Jtsummers 2y agoIt's also used in aerospace and safety critical systems work in Europe, though I'm not sure the extent. In the US, post-mandate, that work is almost all Fortran, C, C++, or now maybe Rust (I'm meaning work that started after the mandate, pre-mandate it was more varied). 787 was the newest system I worked on in the US that used Ada, and that was optional for the software vendors. I think the OS our software ran on was written in Ada, though.
- dang 2y agoAda would count as an exotic / niche language for most of this community and those are perennially popular on HN. That's sufficient to explain the upvotes (which looked legit to me when I checked the data). Also, these things tend to come in waves, even though we try to discourage that, and this was on the frontpage for 10 hours yesterday: Ada Gems (2014) - https://news.ycombinator.com/item?id=42986149 https://news.ycombinator.com/item?id=42986149 - Feb 2025 (9 comments)