I learnt to program at age 12 with no Internet. We had magazines, we had manuals, we had libraries. It used to be that a "home computer" came with a programming language (usually BASIC) and some introductory material out of the box so a whole generation of programmers learnt that way. But I guess there was some gap where this wasn't a given any more... In some ways today is worse than the "old days" because you don't need to program these things to do stuff with them.
> But I guess there was some gap where this wasn't a given any more...
Very much so. First computer has MS-DOS 5. Which boots and gives a blinking cursor to 'do something' with. This often entailed editing mem.sys and various .bat files to get a game working. Or the abstraction that was Word Perfect that was not WYSIWYG that content and layout are separate concepts, and yes, magazines usually had 10-50 pages of BASIC stuff to do 'cool stuff' with.
From my observation, the change happened with Windows. Not was was a GUI, things apart from batsock mainly 'just worked' (except when they didn't) and it was no longer necessary to be required to peer into the (albeit high level) bones of a computer.
And this was true before DOS, C64, Spectrum also offered somewhat hands-on experiences.
But... perhaps not so obviously in Windows-land, if I were giving a kid a computer I'd make sure it was Linux as the command line's not far away, and encourage use of it to get an implicit understanding of what's happening - again a somewhat higher level understanding than creating a RISC-V chip, but more-so than 'right click on the desktop to change wallpaper' - use mkdir to create a directory, understand repositories and how everything's a human-readable text file. Basic stuff with GNU tools, then a little scripting, perhaps some Python.
I was also 12 and found a magazine (ala SciAm) which had a small program snippet to compute a number in it. My buddy knew enough to tell me that it was Basic and my computer came with QBasic.
I didn't have anyone else to ask, didn't know about any computer clubs (and didn't think to ask). So I got very familiar with the built-in help. Spent hours looking through the help until I found the one I needed.
Didn't help that I started learning English only a year before, so had no idea what most of the help said anyway. I vividly recall spending a week figuring out how to loop indefinitely. Finally I got to "while". Was so pleased when it worked.
A bit later my buddy got a modem, and with that BBS access, so he downloaded snippets for me and programming articles, and things accelerated.
On the bright side, finding and reading documentation is now one of my strong points. Hanging on IRC I could usually help others within minutes with libraries I'd never even heard of, simply by diving into the documentation for a bit.