The Development of the C Language (1993)
People who still write C, honest question: Why?<p>C is full of quirks. From cryptic &quot;undefined behaviors&quot; to a type system that isn&#x27;t really a type system (more like &quot;size hints for the compiler&quot;), the language doesn&#x27;t feel easy to use&#x2F;debug. Add to this CPP macros, a universally recognized bad idea, a clunky import system, and lack of a single reference implementation of the compiler&#x2F;libC, and you have a language that is harsh to defend.<p>Also, documentation is all over the place. If a function isn&#x27;t described in `man`, I have no idea where else to actually look for it.<p>I used to think &quot;C presents the most honest representation of the low-level mechanisms of the computer&quot;, but... even this is shaky. I&#x27;ve been programming for almost 15 years now, and I don&#x27;t think I&#x27;ve ever seen a computer where memory is <i>actually</i> a continuous array of bits sorted by memory address. The C representation of memory (and all the pointer arithmetic) is not a <i>real</i> representation of your hardware, and this too is an abstraction.<p>So, setting aside the need to maintain 30+ year old code, what would be modern reasons to start a new project in C?