I recently wrote a similar article (&quot;C Programming Substance Guide&quot;)[1] which made the rounds here[2]. I&#x27;ve updated and improved it quite a bit since then too. It seems like we agree on the major points but it might be a good second opinion.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;btrask&#x2F;stronglink&#x2F;blob&#x2F;master&#x2F;SUBSTANCE.md" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;btrask&#x2F;stronglink&#x2F;blob&#x2F;master&#x2F;SUBSTANCE.m...</a><p>[2] <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=10157018" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=10157018</a>