4 ms·
Instruction reordering, branch prediction, speculative execution, and optimizing compilers would all be examples of details that are abstracted over by the mode
by khedoros1 9y ago
Instruction reordering, branch prediction, speculative execution, and optimizing compilers would all be examples of details that are abstracted over by the model of sequential instructions.
"Lie" might be too strong of a word, but "simplification" would be accurate. And sometimes that abstraction is leaky.
- XorNot 9y agoNot to anyone working in BASIC. And probably more importantly, they're implementation details: you can't feed a modern processor out of order instructions, the entire system is built and optimised to efficiently execute sequential programs (but possibly several of them concurrently).
- khedoros1 9y agoDepends on the BASIC. Some varieties are compiled and have modern optimizations. > And probably more importantly, they're implementation details Well, right, programming languages are abstractions built on top of the actual implementation.
- eru 9y agoYes, BASIC is an abstraction that hides eg instruction re-ordering. But if you are working with abstractions anyway, then imperative programming loses that claim to a privileged position.