Bindings / abstractions are a very well understood issue since the 70s. It does indeed threaten a project by drowning it in technical debt. Since Linux started with Rust a couple of years ago, they are *still* writing the bindings layers. This should be raising some serious red flags."Don't understand it and it threatens status" They're drivers. They have responsible people.
This kind of reasoning is like the classic one I see, assuming a developer "doesn't own an iPhone because they are poor". When really it is often because they see issues with the platform that regular users don't.
"That's how Dad did it and it's worked out pretty well so far"
Dad? Try granddad. The computing industry was developed long ago with a reliance on C. Dad simply inherited it and then us and then the newer generation. If Dad couldn't switch systems language, and we couldn't switch systems language, why do you think the next maintainers in the line can?
The answer is that no, they could not have written nova in C.
They could not write the Apple AGX GPU driver for the M1 in C.
Why? Because the developers didn't want to.
Didn't want to != Could not
I do get the sentiment though. C is tried, tested and a bit boring. If you are going to commit to a feat of engineering like a GPU driver, adding a trendy new language is a good incentive, making it all exciting again. Open-source is all about playing around and having fun.
C really isn't renowned for being a moving target like Rust is. And the fact that we are still on C99/C11 (and not even thinking about C23) is good evidence that it *is* hard for a large project like Linux and FreeBSD to chase language versions.C78, C89, C90, C95, C99.... must have been hard for FreeBSD.