> no major OS seems to be picking up Rust as a first class citizen,
What would this mean to you? > no major OS seems to be picking up Rust as a first class citizen,
What would this mean to you?eg Python and Perl get shipped by default in most Linux distros base image, whereas Java or Ruby don't tend to be.
Whereas C doesn't have a compiler shipped in some/most base images - despite C being about as first class as languages get on Unix.
Only C (and therefore to some extent C++) is the first class citizen in all the major OS families we care about, because the C ABI is the standard for compiled objects (whether executable or library).
Without question.
The interesting question to me is (if starting again) whether ABI stability/compatibility is something that is necessary or desirable for userspace citizens to interoperate with each other and the kernel.
Well, on Windows there's COM for this, which is technically the C ABI too, but really deserves to be considered its own thing.
It's regrettable that C++ currently has an advantage over Rust in this regard...
The C++ ABI of Microsoft Visual Studio is stable since practically forever, albeit with a severe restriction: the language ABI is stable, but not the C++ (or even C) standard library ABI - every Visual Studio release comes with a new incompatible msvcrNNN.dll. But you can load as many different runtime libraries into a process as you like, the big practical restriction is that you can't pass standard library objects allocated by one runtime to a different one.
The C++ ABI of GCC is stable since version 3.2, released in 2002, on x86 platforms (there were numerous fixes in later releases for other platforms). They even managed to retrofit new incompatible C++11 requirements on std::string with some preprocessor hackery and namespace mangling, without bumping the libstdc++ SONAME.
As usual, on macOS the situation isn't as good because they threw out libstdc++ for some clang reinvention of the wheel.
In summary, if you're writing a C API/ABI, source compatibility is still a major advantage, there is no two ways around it.