C Review
Clayton Cramer
cramer at kontron.UUCP
Fri Jan 16 11:58:45 AEST 1987
> I am currently finishing up a new text book on C with a colleague
> of mine and we just received the last of several technical reviews.
> This particular reviewer makes some statements that we find hard
> to accept. However, we're just two people, so we decided to get
> some opinions from other C programmers. Below is a list of some
> his statements. Is this guy for real? Your comments would be
> greatly appreciated. Incidentally, the text is not an intro
> text, it assumes the reader has finished a course in Pascal.
>
> "... 95% of all C programmers couldn't give you a good
> explanation of the term lvalue..."
I know *I* couldn't -- all the more reason it belongs in a text on C.
> "... Switch/case could be classified as rarely used and should be
> kept till later.
It sounds like your reviewer is a frustrated BASIC program who learned
C and hasn't learned anything since.
> "... very few C programmers know much about sizeof..."
Nonsense. Same remarks as above.
> "... 99% of all professional C programmers have no idea
> what typedef is all about, couldn't care less and probably
> won't ever need it."
COMPLETE NONSENSE -- typedefs and enumerated types are essential to
writing maintainable programs in C.
> "... 99% of all professional C programmers have no idea
> what the comma operator is all about, couldn't care less and
> probably won't ever need it."
Your reviewer has clearly never written a loop with two independently
changing loop variable. Is this guy for real?
> "... Leave the comma operator altogether. An intro book is no
> place for obscure and unmaintainable tricks..."
Comma isn't unmaintainable -- no is it obscure. Someone should probably
explain to your reviewer that <stmt> , <stmt> is roughly equivalent to
{
<stmt>;
<stmt>;
}
in places like a for statment. (BTW: can you say
for ({I = 0; J = 0}; I < 20; I++, J--)?
> "... Pointers to functions ... few C programmers understand
> them or would ever need them..."
It's possible to use pointers to functions without understanding them,
but you can't write anything but a trivial program without needing pointers
to function.
> "... a C programmer never needs to know what a byte is..."
C != Pascal. I'm sure it's possible to debug a C program without a
knowledge of machine architecture, but I shudder to think of it.
Let me recommend you ignore your reviewer's remarks.
Clayton E. Cramer
More information about the Comp.lang.c
mailing list