>>28
"C wants to be ``low-level'', and does so by using low-level concepts like pointers and those (mostly) pointless unions, and limiting how much code can be abstracted."
Unions are used when you want to re-interpet a value instead of just changing it. Examples of this would be some of the older malloc implementions.
"Now, since C code is not abstracted, and pointers ``mostly'' map one-to-one with assembly, there's nothing to optimize away, there's no abstraction! The compiler can only:"
Bullshit. Compile a piece a code that the optimizations turned off. Then look at the assembly generated by this code. Now do the same thing with full optimiztions.
"1) Optimize trivialities"
No. Have you ever written production level C code?
"2) Guess what you meant and compile to the most performant code to do that task.
And you can't help the compiler, since you can't access the machine's assembly and hand-optimize it yourself! It's slow by design. "
You're a fucking moron.