<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Mar 14, 2018 at 12:10 PM, Lawrence Crowl <span dir="ltr">&lt;<a href="mailto:Lawrence@crowl.org" target="_blank">Lawrence@crowl.org</a>&gt;</span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
&gt; Optimizationism is the bane of C and C++.<br>
</span>It is also a major reason for the use of the language.  Yin and Yang.</blockquote><div><br>I believe you&#39;re wrong.  The major reason for the use of the languages is that<br>(in the old days) their mapping of programming language to underlying machine<br>was transparent, and looking at the code could tell you relatively easily what the<br>the compiled code would look like.  The languages did not contain hidden surprises<br>whereby a seemingly simple line of code could expand into huge or slow behavior.<br><br>Then the optimizationists attacked the languages by pretending that speed was<br>the same thing as transparency, and destroyed transparency by insisting that<br>common behavior should be treated as undefined and then that compilers could<br>pretend that undefined behavior never happened.  Now compilers take seemingly<br>obvious code and obliterate the intent of the programmers.  Then the compiler<br>writers gleefully show off how wonderful their snippet of code looks now that they<br>have miscompiled it.</div></div></div></div>