C Isn't a Programming Language Anymore
Phantomderp and I have both recently been very aligned on a particular subject: being extremely angry about C ABIs and trying to fix them . Where we’re not aligned is why we’re mad about them.
Visit gankra.github.io → On Hacker News Sep 2019 – Apr 2022
Software Engineering 6Programming Languages 4Systems & Performance 1Design & UX 1
Phantomderp and I have both recently been very aligned on a particular subject: being extremely angry about C ABIs and trying to fix them . Where we’re not aligned is why we’re mad about them.
For those who don’t follow Swift’s development, ABI stability has been one of its most ambitious projects and possibly it’s defining feature, and it finally shipped in Swift 5 . The result is something I find endlessly fascinating, because I think Swift has pushed the notion of ABI stability farther than any language…
I literally wrote the book on unsafe Rust . And the book on pointers in Rust . And redesigned the Rust’s pointer APIs . And designed the standard library’s abstraction for unsafe heap-allocated buffers . And maintain the alternative Vec layout .
Over the years I’ve found myself with a weird amount of knowledge about how types and ABIs in Rust work, and I wanted to write it all down in one place so that… it’s written down in one place. Much of this information can or should be found in the Rust Language Reference and the Rustonomicon .