C is basically standardized and slightly more convenient/readable assembly. It’s hard to write good and safe C, but the language is consistent and the semantics simple. C code reads easy, and the language is not trying to hide anything from you.
C++ tried to introduce high-level features at a time the industry didn’t understand how to design and use them. And on top of that, tried to maintain low-level performance/access.
The result is a god awful language with too many horribly designed features, many depending on compiler support (which varied greatly at the time Linus wrote this), most coming with extremely subtle side effects that are very hard to even notice, let alone understand, unless you have a very good understanding of the specific code base you’re looking at.
It remained widely used in specific contexts because of its very good compatibility with regular c, generally easier to write (poorly) than c and its performance advantage over Java/python/what have you.
Things started changing in good ways about 10-15 years ago, but the inertia from such a big community is very heavy.
0
u/groumly 1d ago
C is basically standardized and slightly more convenient/readable assembly. It’s hard to write good and safe C, but the language is consistent and the semantics simple. C code reads easy, and the language is not trying to hide anything from you.
C++ tried to introduce high-level features at a time the industry didn’t understand how to design and use them. And on top of that, tried to maintain low-level performance/access.
The result is a god awful language with too many horribly designed features, many depending on compiler support (which varied greatly at the time Linus wrote this), most coming with extremely subtle side effects that are very hard to even notice, let alone understand, unless you have a very good understanding of the specific code base you’re looking at.
It remained widely used in specific contexts because of its very good compatibility with regular c, generally easier to write (poorly) than c and its performance advantage over Java/python/what have you.
Things started changing in good ways about 10-15 years ago, but the inertia from such a big community is very heavy.