I first learned about BASIC from one of my cousins showing me various little computer programs he made using "something called qbasic." They were all horribly rough versions of games I've seen preinstalled on every computer I ever came in contact with before that point, but that fact that they were made by someone was fascinating to me. Before that point, I had never previously thought about that concept. That a person — I WAS ONE OF THOSE — could make a game. I immediately went home and went about the task of learning how to use BASIC to make a game.
Now, this was well before my family ever even had the vague notion of having the Internet in our household. We lived in a place that was considered rural by even most rural towns. My nearest friend lived approximately three miles away from me. My nearest neighbor lived about a mile away from us. We were surrounded by farmland and trees. That's about it. I even went to a one-room schoolhouse at the time. That's what it sounds like too: a Kindergarten through 8th Grade single room schoolhouse. Sure, there was a bookcase divider down the center that divided K-4 and 5-8 grades, but for all intents and purposes, it was one room. And the teachers were lazy and taught all 5-8 graders the same cirriculum, which means I skipped remedial grammar and basic math and went straight into algebra. There are gaps in my education, is what I'm saying.
I'm getting off topic.
I went straight home to learn BASIC, and how I learned BASIC was not by looking up a tutorial on the Internet, but purely through the painful process of trial-and-error and some really rudimentary documentation of what functions existed in a help file in qbasic. Basically: just trial and error. Learn I did, though, over time. I created a few text adventure games. I got crazy with an intro sequence once and made a bunch of system noises that approximated a dramatic intro theme song with a page-by-page ASCII animation of a sword appearing on-screen (draw page characters, clear page, draw another set of page characters with the animation slightly advanced, clear page — you get the picture).
Eventually I got bored. That's not exactly atypical for me.
Sometime after my freshman year of college, I got a book on C++ and decided that I wanted to learn it to start making games. At this point, I had the Internet, so I had enough information to know that if you wanted to make games for real (and not just play around with Half-Life mods) that you needed to learn a programming language. And C/C++ was the ticket. So, I got this book. I made some decent progress in this book. I followed along with the chapters, I programmed the recommended examples, I messed around with the examples as much as I could to try and get a handle on language features.
And then I got to the chapter on Pointers. And nothing. I re-read the chapter on Pointers maybe three-four times. Still nothing. I got bored again and put the book away, presumably forever.
But then my class on Michigan History the beginning of my sophomore year of high school happened. I should point out: I had a TI-86 for one of my math classes and it was always in my book bag. You see, Michigan History is not entirely uninteresting, but the way it was presented was entirely uninteresting. So, one day, I got my TI-86 out and realized that I could actually program applications for the calculator in the calculator's text editor. I had some minor fun with this, but when I got home I decided to take it a step further and try discovered what amounts to a dev kit for TI calculators. I got this dev kit and, yeah, it's basically just BASIC. So, I remembered what I could of BASIC and made a game for my TI-86: http://www.ticalc.org/archives/files/fileinfo/160/16047.html (the fact that this is still accessible is amazing to me).
After that whole project, I picked up the C++ book and started again from the beginning. And, for some reason, that time the chapter on Pointers clicked. And, boy, did I hate Computer Science in college (I dropped out of the CS program and got a degree in English instead), but my first job of college was working as a Game Programmer for Stardock Entertainment. And now I'm a Creative Director of a game studio. And, basically, it's just because of BASIC.