In the 80s and early 90s, affordable computers existed but there wasn't so much you could do with one. The list of activities looked something like:
1) Play Choplifter 2) Play Loderunner 3) Learn BASIC
Programming was a natural thing to attempt to do since there was little else you could use a computer for at that time.
- A menu-driven File Management system because I was sick of typing commands.
- Checkbook management system to make balancing my account easier
- Heating & Cooling timer thermostat control
- More stuff I can't remember any more
Oh, by the way, they were all written in BASIC!
Your implication is exactly backwards, from what I've observed. People who learned programming as a kid for the joy of it are much more likely to be good programmers. People who went into it for job training are much more likely to suck.
I agree with you, but I also started learning to program with a Commodore 64 when I was six, so I'm probably a bit biased. :)