Even for old C, aka C89, under the hood, the difference is difficult to handle, returns from operators that are lvalue for one, and not for the other, a control thread that is valid for one and not the other, etc. Where they are ok is at the interface level for functions with prototypes, struct
, etc.
For a newer version of languages, this diverges even more, since even interface compatibility can be difficult to maintain. C99 already has a static
for limiting the parameters of an array function, the concepts of compile-time constants vary greatly in both languages, C ++ starts reusing old keywords ( auto
) and excessively uses new keywords that are not in the reserved namespace .. .
So, I think the gap will widen, and it is probably better for both communities to recognize the divorce and try to come to an agreement separately.
Jens gustedt
source share