My mother bought a Commodore 64 to take a computer programming class. She bought a few games for me to play on the computer when she wasn't using it. It didn't take long before I realized that I had more fun playing with the "blue screen" (the C64 BASIC prompt) than actually playing the games.
From there I eventually moved to a PC and GWBASIC. From there it was assembly language. Then I got a copy of a game called Might & Magic III. I had fun playing it but I had more fun hacking it. I reverse-engineered the save game format using nothing but a hex editor and the game itself and mapped out the entire save file in detail.
I wanted to write a GUI program for Windows 3.1 that would allow me to edit the save game files more easily, instead of messing with a hex editor. So I convinced my mom to buy a copy of Turbo C++ and a copy of Petzold's book Programming Windows.
It was all, uh, downhill from there.
EDIT: My mom became a grizzled COBOL mainframe hacker later on. So, I had competition.