J
James Kuyper
It's a coding style issue. I use them for internal functions.
"coding style" is not a term ordinarily used to describe deliberate
adoption of practices that, according to the C standard, have undefined
behavior.
And it's not just me. You know who else happens to do that? The small
army of Linux kernel programmers.
Guess what: the Linux kernal is part of a C implementation. The key
reason why you're not supposed to use these names is because they ARE
supposed to use them. They're NOT supposed to use the names that are
reserved for your use.
The point is, it's not some bizarre coding style choice I made. It's
used by an army of highly skilled programmers (kernel code is
PAINFUL.) These people know what they're doing, more so than you or I.
Both Keith and I are very experienced programmers with a comprehensive
and detailed knowledge of precisely what it is that the C standard
requires and allows. I would not recommend automatically assuming that
those people know more than we do, just because they know a lot more
than you do.
And they use it.
Yes - because they know enough to recognize which name space has been
reserved for their use - it is NOT the same name space that has been
reserved for your use. I recommend you acquire the same understanding
they have; because that same understanding will result in you using very
different naming conventions than they do.