2 ms·
> Most software engineers I know who have a background in EE love C, simply because it maps very well to what a processor actually does during execution. I agr
by nrclark 5y ago
> Most software engineers I know who have a background in EE love C, simply because it maps very well to what a processor actually does during execution.
I agree with this. One thing to note though: C maps onto small CPUs pretty well. It doesn't map directly onto the x86_64 execution model at all.
Today's fast CPUs are very different than the abstract machine that C represents. They run all kinds of things out-of-order, do speculative execution, run instructions in parallel, engage in branch prediction, etc. If anything the C execution model is almost a like a little VM that gets mapped onto the core that's running it.