3 ms·
>The safety guarantees that Rust provides are neither unique nor complete, Well no language can ever have "complete" safety guarantees. But I would like to kno
by gameswithgo 6y ago
>The safety guarantees that Rust provides are neither unique nor complete,
Well no language can ever have "complete" safety guarantees. But I would like to know what other languages offer the same set of guarantees without GC overhead. This would include:
* the usual memory safety
* no nulls
* no undefined behavior
* no data races
Does ATS guarantee those things?
- Athas 6y agoYes, ATS can guarantee all those things and more. In particular, ATS allows you to write "unsafe" code, which you then prove safe with a mechanically verified proof. This is in contrast to unsafe Rust, which depends on programmer discipline, and has no (intra-language) mechanism for verification beyond the basic type system. You could say that Rust is all-or-nothing, while ATS allows gradual verification, as well as proving safe much more complex code than you can in Rust. I'm not going to claim that ATS is overall better than Rust - it's not - but it's a far more powerful language than Rust for safe systems programming. It's just that most people are not willing or able to pay the very high price in ergonomics. I recommend watching this presentation for a good idea of what ATS programming is like: https://www.youtube.com/watch?v=zt0OQb1DBko https://www.youtube.com/watch?v=zt0OQb1DBko In short, it's about as user-friendly as an overheating nuclear reactor.
- ghostwriter 6y ago> It's just that most people are not willing or able to pay the very high price in ergonomics. Hopefully it will get better in ATS3 - https://github.com/githwxi/ATS-Xanadu#project-description https://github.com/githwxi/ATS-Xanadu#project-description
- deleted 6y ago[deleted]
- amelius 6y agoThe problem is that Rust still keeps you thinking about memory management. From a security-perspective this makes it worse than GC'd languages.