But how would you link a library written in Rust to a Virgil program? Or vice versa?
That's the real problem the author is ranting about. If you've solved that, too, then I think that the author's article isn't the only Rust team member who'd like to talk to you.
> But how would you link a library written in Rust to a Virgil program? Or vice versa?
Sounds like that's Rust's problem, or maybe Virgil's? Why is it C's problem?
If Rust is going to "replace C" for systems work, as the more grandiose claims would have it, it's going to have to replace all of C.
It's not like writing a POSIX-like system is that hard. It's a lot of work, sure, but it's been done multiple times, by unpaid volunteers at that.
This complaint basically boils down to "We can't/won't/haven't reimplemented this low-level stuff in our whizzy new language, and that's somehow C's fault".
Your argument reads like: you shouldn't need to run Rust programs unless _the entire operating system_ is first rewritten in Rust. I doubt you really mean that, though...
C definitely doesn't provide a well-defined stable interface. Specific ABI definitions might, but there are 176 of those, and implementing all of those in another language is decidedly not what I'd call "easy".
The compiler provides a mapping from the stable, (relatively) portable, well-defined API -> the unstable, non-portable, ill-defined ABI of the host system.
In most cases, I'd think those small teams support like a max of 5 ABIs, out of the 176.
Of course it's "possible". Of course, complaining about it won't get it done. But I can easily envision an alternate universe with the same OS & CPU architecture variety, that has the effort required for doing this be ten times smaller, and I don't see it being utterly pointless to ponder the viability of that if only just for fun (which the swearing in the article hints to me it is).
I, as an author of a small language implementation, would really prefer to not need to implement more than one
C FFI ABI, much less 176. I'd meet somewhere in the middle, but 176? nah.
That's the real problem the author is ranting about. If you've solved that, too, then I think that the author's article isn't the only Rust team member who'd like to talk to you.