In my Pascal class (typical for its time), pointers were taught as an abstract concept.
When I started learning C, a pointer was just an address in RAM. THAT was way easier for me to wrap my head around. Doing pointer arithmetic nailed the idea down.
After that, pointers made sense to me in both languages.
In most of the world, most of the time, being smart is a survival advantage for oneself and ones children. Not necessarily formal education is a survival advantage but they are nowhere near the same thing.
Smarts as a survival advantage may provide more advantage in extreme environments than Sweden but even in Sweden; someone reasonably smart in a socially acceptable way is way more likely to reproduce than someone who isn't and their children are more likely to thrive.
Back in the day (before computer sound hardware) the most common technique to produce "music" (more of a pitched buzzing) with a computer was to take advantage of various loops producing pitches you could hear on an AM radio. It was also used for diagnostics; I could sometimes hear the system go off the rails (Gad I am old).
Not to mention the multiple innovations in dealing with and indexing obscene amounts of data in the back end. mSQL just isn't going to cut it, you know? That's impressed me beyond words: The back end has radically changed and it just keeps working.
The redundancy and failover are stunning and I don't think you get that without innovation.
The exact implementations may not leak out but the rough ideas do and we all benefit from that. Hadoop anyone?
Anyone can make an omelet with eggs. The trick is to make one with none.