The Ten Commandments for C Programmers (1987)
This should probably carry a date stamp; my guess would be that it dates from 1990 or so.<p>Most of the advice is still good, but I would object to (3):<p>* Excessive casting can be a problem in itself, as it hides genuine type errors (e.g. you think you're casting an int to long, but in reality the variable is a pointer)<p>* Casting NULL is pointless, as it's already defined by the standard to be a pointer constant, compatible with all data pointers.<p>* Much of the language about "prototypes" (a.k.a. standard C) was justified at the time, but no longer reflects reality nowadays. It would have to be a very exotic platform that still uses a pre-ANSI C compiler.