This - I never felt the lack of learning materials. I saved my pocket money to buy Turbo C++ and Assembler in my teens. They came with nice fat books that explained standard libraries and instruction sets. My library had more books with references for DOS interrupts/syscalls, memory managers. I got a game programming book that showed me how to push pixels into the framebuffer, and which ports to bang to get a Sound Blaster to sing. I had the Mike Abrash optimization book and spent much of idle school time doodling pipeline simulations on paper.
There was just a handful of integrations like that, and the rest was up to you. The world was less interconnected, there were no REST APIs or gigantic browser/OS API surfaces.
I asked for a Borland C book and compiler, which my parents gave me for my 15th birthday (I think)... I tried to read it but I couldn't understand it.
I also used to carry around and read the "Practical C++ programming book", trying and failing to grok it... what I didn't understand (and what I didn't hear anywhere) was that trying small examples is the only way to really get started in a new programming language.
As a high schooler, the only languages I made progress in were the super-approachable ones -- like TI-basic and QBASIC.
The modern internet would have made it all so much easier :-)
I mostly just remember copying stuff from here and there, not too different from the age or stackoverflow, just printed and mostly correct!
I did have some lucky breaks, like going to local small town art school to study "computer graphics" as a pre-teen with a 20-year old tech student who would just casually explain to us anything from alpha blending to linear algebra. Said student later went on to design GPUs for Bitboys, ATI and AMD.
There was just a handful of integrations like that, and the rest was up to you. The world was less interconnected, there were no REST APIs or gigantic browser/OS API surfaces.