|
|
|
|
|
by Blackthorn
4060 days ago
|
|
There's still nothing that can actually replace C. I think that's because of a combination of: 1) Being reasonably high level 2) Having asm() be usable at all. You can't drop into asm with Go, as far as I'm aware. You can with Rust and C++, but the next point... 3) The ABI as commonly implemented is dead simple. I know how to call C from asm, and vice versa, without screwing everything up, having bizarre initialization and destruction to worry about, etc. C++ can't claim that. I don't think Rust can either. C will live on until there's an actually usable replacement. Right now, there isn't. |
|
Rust has no defined ABI at this time, just like C++, but by adding the 'extern' keyword, and a '#[no_mangle]' attribute, you get the C ABI, and so then it's easy. We also support a few other ABIs as well, then it's 'extern "fastcall"' or whatever.
(This still doesn't mean "Rust will kill C" or something silly like that.)