This is crucial. A lot of people seem to be suggesting that because it's easier to get into computers kids are missing out on programming. But in reality it's the other way around - only the people who were wired up for engineering could get into computers previously and nowadays everyone can use them - you can still get into programming and plenty of kids still do - and it's easier than ever (I had no internet when I started coding - only the F1 help manual of QBASIC and my below basic English - what I could have done if I had all these tutorials available today :( ) - they just aren't the only ones in to computers so they aren't as visible as they used to be.
Think of it like this - every kid probably had some electric toy car or some such toy in the last 20-30 years. But not every kid took that car apart to see what cool shit he could do with the electric engine and batteries.
So the first thing I did that ever resembled programming was a boot script that would give you a menu of which game you wanted to play. It would say "1) Beneath a Steel Sky 2) Dune 2 " etc. And they it would prompt you to put the right CDROM in.
I think my most vivid learning experience was when I managed to delete autoexec.bat.
Origin games often requires that kind of things... but they were the best games of all on MS-DOS PCs! I remember the time when most people wanted to buy a PC because of Wing Commander.
So as you say, even with 8MB in XMS (or sometimes EMS, depending on the game I think, using EMM 386), the 640k boundary was an issue and I too had the joys of paring down my `autoexec.bat` and `config.sys`
But no `dwcfgmg.sys` and my "plug n' play" soundcard wouldn't work. It was a small driver, but the games of the day seemed to demand the entire 640k at startup or they just wouldn't work :(
So often it was no sound, or no game at all. Oh what I would've given to trade that for manual soundcard configuration.
Or using a tiny screwdriver to lift the tape deck when it wasn't possible to move the head.