On Wed, Mar 14, 2018 at 12:10 PM, Lawrence Crowl <Lawrence@crowl.org> wrote:
> Optimizationism is the bane of C and C++.
It is also a major reason for the use of the language.  Yin and Yang.

I believe you're wrong.  The major reason for the use of the languages is that
(in the old days) their mapping of programming language to underlying machine
was transparent, and looking at the code could tell you relatively easily what the
the compiled code would look like.  The languages did not contain hidden surprises
whereby a seemingly simple line of code could expand into huge or slow behavior.

Then the optimizationists attacked the languages by pretending that speed was
the same thing as transparency, and destroyed transparency by insisting that
common behavior should be treated as undefined and then that compilers could
pretend that undefined behavior never happened.  Now compilers take seemingly
obvious code and obliterate the intent of the programmers.  Then the compiler
writers gleefully show off how wonderful their snippet of code looks now that they
have miscompiled it.