Being an ignorant fool with an uninformed opinion, I would like to see a C compiler that is evaluated and critiqued not only based on the warnings and errors it generates but, more importantly, on the assembly it generates.<p>Namely, how compact and readable is the generated asm?  When we read the asm, can we easily follow what the compiler has done and _why_?<p>As an ignorant fool, in my mind C is still a shorthand for writing assembly, to save old programmers from continuing to be or new programmers from becoming &quot;assembly language programmers&quot;.  Obviously many years have passed and &quot;C&quot; has become an institution and means much more to so many people.   Aopologies to those people.  I am just a fool.<p>I see the _theoretical_ &quot;C compiler&quot; as nothing more than a code generator, spitting out assembly.  Obviously the _practical_ C compiler is very different.  Base on the way it&#x27;s used, it seems inextricably linked with a &quot;preprocessor&quot; (glorified sed).<p>It is said that asm has a &quot;one to one&quot; relationship with machine code.  Theoretically, we can look at asm and determine its machine code equivalent without any &quot;clever&quot; algorithms.<p>My humble, ignorant fool&#x27;s opinion is that it would be better if C had a closer relationship to the asm the &quot;C compiler&quot; generates.<p>Maybe not &quot;one to one&quot; but at least &quot;predictable, boring&quot;.<p>Forgive me for having opinions about overly complex things few people can comprehend (e.g., a &quot;modern C compiler&quot;).  I am just an ignorant fool who likes code generators.  Especially ones that output assembly.