Chris said:
No more so than seeing the mathematically ridiculous statement x = x+1;
Absolutely.
If anyone says thatthey "know C" and doesn't recognise for (;
as being
a loop without a condition then they deserve to be fired because they
are misrepresenting themself.
Agree. Well, the guy was talking about someone that "may well be a
statistician with limited programming experience", though.
But that's not a valid point in my opinion. Would you submit a report
written in english to some person, maybe skilled in the field that's
dealt with in the report, but that doesn't understand half of the
english idioms? I wouldn't. Too many possibilities of misunderstandings.
So my take at this is: don't show C code to someone that doesn't know C.
That's useless. If you are going to work with someone that has "limited
programming experience", just give them the formulas and algorithms
written in natural/math language, not in C.
(Yes, I have seen people come for interview who say that they are
"experienced C programmers" and don't recognise common idioms like that.
They don't get the job. I don't know who does employ them, possibly
Microsoft or the government...)
Well, I have interviewed at Microsoft once (what was I thinking? ;-) ).
The technical interviews were actually pretty difficult; at least,
you had to solve some tricky stuff in like 40 minutes..., which, under
pressure, was too fast for me. I do remember one of the guys stating
something really stupid as to the C standard though...
(If I remember correctly, he was claiming that 'sizeof(char)'
may yield something else than 1 on some platforms. Seems to me
like 'sizeof(char) == 1' is in the standard, isn't it actually the
very definition of sizeof?.
My copy of the standard says:
"When applied to an operand that has type char, unsigned char, or signed
char, (or a qualified version thereof) the result is 1."
Oh well...)