Well it's not really C that fills that role it's the C ABI which any language can use without an ounce of C. Rust can use the C ABI.

It would be nice if there was a somewhat higher level ABI that languages could use though. The C ABI is very low level and tedious.