C 49.0% C++ 45.4% Makefile 2.9% Assembly 1.1% Shell 0.8% Objective-C 0.4%
https://github.com/fuchsia-mirror/magentaThe only thing I dislike about Linux is that it drags gcc with it, for this you need g++ too.
Once you shrink C++ down to such a subset, it is substantially less heavy. I do not think I am qualified whether that makes it a better choice, but means there are examples of fairly successful operating systems whose kernels are written in C++.
I've only used C++ in an academic setting.
> Once you've striped all those features from C++, what's left to differentiate it from C?
Not much, I suspect. You can declare variables anywhere instead of just the beginning of a block, you can use references, and C++ handles const-ness much better than C. Function and operator overloading is a double-edged sword, but it is possible to use them in a way that makes code easier to write, read, and maintain. C++ being C++, there are surely a bunch of things I miss.
But yes, without all the advanced features the gap between C and C++ shrinks significantly,
Anyway, Google is supposed to have good c++ devs, with experience coding together, so this is not a problem for them, i think. Another issue is that the compilation is slow compared to C, but i don't think its an issue for Google either.
[edit] Yes, binary size can be a problem too, forgot about that. But if you only use basic libraries, i don't think your binary will grow that much, right?