It appears to me that a lot of folks are actually incapable of stopping and thinking how stuff might even plausibly work. As soon as you rephrase the question in terms of fundamentals, it becomes clear, but people allow themselves to get confused by all the high-level whizbang stuff, without remembering that there is no magic.
I've recently rediscovered the joy of writing GEM apps in m68k ASM...
"All problems in computer science can be solved by another level of indirection." - Butler Lampson
And, from what limited sources I could find:
"[above] ... Except for the problem of too many layers of indirection" - David Wheeler
Wilkes, Wheeler, and Gill wrote a book, "Preparation of programs for an electronic digital computer", that pretty much describes the core software engineering precepts we use today - in 1951.
Gill wrote "The Diagnosis of Mistakes in Programmes on the EDSAC", which gives a good snip of what they were doing at the time. I think that it can be obtained for free online.