On Mon, 13 Mar 2023, Clem Cole wrote:
Frankly, I'd probably rather see ISO drop a bunch
of the stuff they are now
requiring and fall back at least to K&R2 -- keep it simple. The truth is
that we still use the language today is that K&R2 C was then (and still is)
good enough and got (gets) the job done extremely well. Overall, I'm not
sure all the new "features" have added all that much.
C99 did introduce one thing I use: <stdint.h>
Beyond that, I still code strict C89. I simply treat the language itself
as ossified. I also still make assumptions about the compiler that might
not still be true, so for example
unsigned short a;
unsigned char b;
b=0xFF;
a=b<<8;
I expect to return 0 even though the logical answer is 0xFF00, and I
_always_ code it like this:
b=0xFF;
a=b;
a<<=8;
or alternatively
b=0xFF;
a=((unsigned short) b)<<8;
and there's other defensive stuff I do. I honestly don't see the point in
the other changes to the language and feel they take C away from what it
has always been.
-uso.