C would do better improving what matters, the lack of safe enumerations, strings and arrays, but even that they fail to copy from C++.
void foo(int X, int Y) { double a[X][Y]; .. }
In fact, this is one reason I switched away from C++, because arrays are so bad in C++.
(yes, one can activate library assertions, but still - by default - unsafe)