"I prefer a lack of magic for my programming [production systems]" the dev says while they write in a language for a compiler they don't understand, with algorithms in the standard library they couldn't implement, performing processor specific optimizations they've never heard of, to run on a virtual computer whose amount of allocated RAM and CPU is mostly a polite fiction, where it will eventually be reduced to a microcode before running on a processor that simulates the software out of order.
@hrefna Oh, I love this observation.
I’ve been very guilty of protesting against “magic” in the past. On reflection, I think what I’m wary of is leaky abstractions. I want to be able to reason about my code/software, and I’m fine with magic as long as it doesn’t interfere with the reasoning.
So thank you for making me dig into this.
You also don't have to scratch very hard in compiler optimizations either before you start running into it causing actual real problems or unpredictable behavior in production code.
Not even in a JIT either. In a standard AOT compiler.
That's without getting into Tomasulo's algorithm or how modern branch predictors work.