Then for Christmas of 1980 or 1981 (I no longer remember which) a Sinclair ZX-81 was under the tree. If it was 1980 I would have then been 13. The ZX got a bunch of usage, but being chained to it's audio cassette tape interface for storage (read: didn't work so well....) meant most of the usage was pure play, like printing 1-100 to the screen and so forth. Which when one is 13, and "programming" a computer for the first time, seems magical.
1982 plays a key role because in 1982, my parents (well, more my Dad, but) decided to get an Atari 800. Auspiciously the reason was so that Dad could automate the weekly task of computing the score-sheet for his bowling league (he was secretary of the league at that time, and one of his tasks was calculating up the weekly averages, scores, handicaps, etc.) Well, Dad wasn't (and still isn't) any form of a computer programmer, so the reality was that I was "volunteered" to write the program that would automate the league calculation work.
That "task", which I gladly took up, so I voluntarily volunteered myself, would be how/why I got my "start". And I've been at it ever since.
In any case, I'd probably have taken up the craft one way or the other, it just so happens that this way turned out to be the how/why.
My family had been trying to get out of Russia for 10 years, so I'd been taking English lessons since I was three.
The head of one of the other families was a programmer from Vilnius.
I taught him English and he taught me how to program in BASIC with pencil and paper. We did it at the kitchen table as I recall.
I saw a computer in a store window but we couldn't afford to buy it.
Next month we were in Ladispoli, Italy, and I had access to a Commodore plus 4. That's when I got a chance to try out my programs and learned about debugging.
Oh, and the first (and only) comment (by my best friend)?
> you should consider computer programming as a career
Yup, that plus math.
One day, I was being punished for something, so my dad took away the external floppy drive for a week so I wouldn't be able to play any of my games. I remembered that I could just write my own, so I wrote a simple Hangman game. It took me 2 days, but I still did it. (Again, I was 6) Although, Hangman is not much fun when you're the one who wrote it an you know what the words could possibly be. But, I digress...
Anyway, my parents were very impressed that I had taught myself how to do this all on my own. Years later, in high school, they bought me my own PC (an IBM clone with a 386DX-40 processor, 4MB RAM, etc.) that I used to learn Microsoft QuickBASIC (a more advanced version of BASIC than came with the Commodore), C, and eventually C++. From there, I studied Computer Science in college, and the rest is history.
Priceless. As someone whose first program calculated the value of a pair of resistors I can only conclude you were way ahead of me at 6 when I was 12...
Then the school got five TRS-80s. I grabbed one of the Basic manuals and read it in an hour while I was supposed to be paying attention in calculus class (it was pretty thin). I thought "Hey, this is just like Fortran, except the words are different." So then I knew Basic, at least well enough to play with a TRS-80.
Then my dad brought home K&R, and I read it over a Thanksgiving weekend. I understood it all except for argc and argv. The rest was clear, just from reading the book, but argc and argv required being able to experiment to see what they did. My dad tried it at work on Monday, and explained the results to me.
To practice, I built all kinds of toy sites. Fan pages for bands I liked. Homepages for myself. I would take a site and try to duplicate it. Anything.
Then I learned about servers and hosting so other people could view my sites.
Eventually I picked up PHP which really opened my eyes to what could be done with websites.
Somehow or another I found Python. Mark Pilgrim's "Dive into Python" made the language click in a way other tutorials never did.
Found Django shortly thereafter (2007-ish) and the rest is history.
Never looked back after that!
READY
10 PRINT "My parents bought me an Atari 400 with Basic in the early 80s"
20 PRINT "It had a cassette drive and a membrane keyboard"
30 PRINT "You kids these days"
40 GOTO 30