6 ms·
> it makes safe "systems programming" possible, which no production ready language previously provided. I think you have just made Ada and several other langua
by dozzie 8y ago
> it makes safe "systems programming" possible, which no production ready language previously provided.
I think you have just made Ada and several other languages disappear from the
history.
- noelwelsh 8y agoYeah, "production ready" was the wrong phrase. It's more a combination of availability of language compiler, tooling, training, and interest from developers. If you start a new project using Rust there is a reasonable chance you'll be able to find libraries for common tasks and developers willing to work on it. You can make a case for it and not lose your job. With Ada, outside of a few niches that isn't going to be the case IMO. It's been a long time since I looked at Ada, but I believe it's memory mgmt is more inline with modern C++ than Rust. So perhaps it's not truly comparable.
- kibwen 8y agoThe thing that Ada and its peers lack that Rust has already tackled is finding a strong foothold in OSS. Doubtless there are more lines of Ada than Rust in the wild, but in 30 years of use the only OSS Ada project I can name is GNAT itself, whereas anyone using e.g. Firefox or VSCode is using Rust despite it being ten times younger. Given that most new developers these days seem to learn to program via OSS, and given that HN is largely OSS-focused, it's no surprise that Rust gets mentioned more.
- pjmlp 8y agoWhile you are right, it would also be good to learn the history of computing in a proper way, instead of re-writing it based on urban myths and perceptions.
- dozzie 8y ago> The thing that Ada and its peers lack that Rust has already tackled is finding a strong foothold in OSS. Which is irrelevant to the claim that no previous language provided safe environment for systems programming.
- swsieber 8y agoYou're missing the qualifier of "production ready". While I'd argue that Ada was indeed "production ready" language wise, I'd say that it's not with respect to libraries, of which, OSS contributes a whole bunch. For some people, a good library selection is essential to being "production ready".
- dozzie 8y agoWe must think about quite different things behind "systems programming" if you need libraries for it. For me system implements and provides interface, not uses it. Like in operating system. And then, Ada had a selection of libraries for a long time. You just conveniently forget about the paid ones, so you can call Ada "not production ready".
- swsieber 8y agoI wouldn't even say conveniently forgot, I'd say it didn't even cross my mind. It is perhaps also representative of why people don't consider Ada when picking out a language. That said, I agree that it'd be moving the goal posts to omit paid libraries. -- I do think we have slightly different ideas of "Systems Programming", or at least what production ready means for that type of language. I think it boils down to the fact that people do a lot more in "Systems Programming" languages than just OS or implementing and providing interfaces. Specifically, people do it for performance and control, which I don't necessarily excludes the use of libraries. I think the contention here is that people are thinking of production ready for these types of languages in terms of general use, not just the niche you describe. In retrospect, I do think it was a poor way to word it. I guess I'd probably amend the original comment to say something like "Rust is the first production ready systems programming language that can comfortably (after a learning curve) be used at higher levels".
- kibwen 8y agoSure, but that's irrelevant to my comment, which is answering the original question "Why is Rust so popular on HN?" in the specific context of Ada.
- monocasa 8y agoAda doesn't have the same memory management safety without a garbage collector that Rust does.
- dozzie 8y agoIndeed Ada has different memory management model, though equally safe.
- monocasa 8y agoI've coded in Ada. Storage pools are not as safe as Rust's affine type system. For one it's a lot easier to leak memory with Ada, since they're mainly built off of reference counting.
- moosingin3space 8y agoPedantic: memory leaks are memory-safe, despite generally being undesirable.
- monocasa 8y agoYou're totally right, but yeah, I tend to roll it in to the same category since I consider the denial of service associated with memory leaks to be as bad as stricter memory unsafety. (And to be very pedantic I said 'memory management safety', not just 'memory safety').
- deleted 8y ago[deleted]
- pcwalton 8y agoAda uses a garbage collector for the free store (or just uses unsafe code if it's disabled). Ada's memory management model is not really different from any other typical language.
- dozzie 8y ago