<story><title>The Ten Commandments for C Programmers (1987)</title><url>https://www.lysator.liu.se/c/ten-commandments.html</url></story><parent_chain></parent_chain><comment><author>microtherion</author><text>This should probably carry a date stamp; my guess would be that it dates from 1990 or so.&lt;p&gt;Most of the advice is still good, but I would object to (3):&lt;p&gt;* Excessive casting can be a problem in itself, as it hides genuine type errors (e.g. you think you&amp;#x27;re casting an int to long, but in reality the variable is a pointer)&lt;p&gt;* Casting NULL is pointless, as it&amp;#x27;s already defined by the standard to be a pointer constant, compatible with all data pointers.&lt;p&gt;* Much of the language about &amp;quot;prototypes&amp;quot; (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.</text></comment>
<story><title>The Ten Commandments for C Programmers (1987)</title><url>https://www.lysator.liu.se/c/ten-commandments.html</url></story><parent_chain></parent_chain><comment><author>rgoulter</author><text>&amp;gt; if thou thinkest ``it cannot happen to me&amp;#x27;&amp;#x27;, the gods shall surely punish thee for thy arrogance&lt;p&gt;This one is a universal experience. :)</text></comment>