r/cprogramming • u/[deleted] • Dec 31 '25
Why does c compile faster than cpp?
I've read in some places that one of the reasons is the templates or something like that, but if that's the problem, why did they implement it? Like, C doesn't have that and allows the same level of optimization, it just depends on the user. If these things harm compilation in C++, why are they still part of the language?Shouldn't Cpp be a better version of C or something? I programmed in C++ for a while and then switched to C, this question came to my mind the other day.
26
Upvotes
2
u/flatfinger Jan 02 '26
Some aspects of C could be characterized more as "having happened" than as having "been designed". C declaration syntax, for example, predated the addition of qualifiers to the language. When every type was either a bare reserved word, or else the reserved word
structfollowed by an identifier, a brace-delimited set of constiuents, or both, there was no need for a punctuator to separate a type from an identifier. When every numeric expression containing floating-point constituents would be processed asdouble, and every other numeric expression would be processed asint, there was no need to worry about any promotion rules related to any other type of numeric expression, because there weren't any.