I have been programming since I was around 5 years old. It all started when my grandmother, your typical conservative southern christian with this spontaneous liberal streak that comes from out of the middle-of-fucking nowhere, bought one of the first consumer computers put on the market: the ole so lovely TRS-80. This computer, in short, was just a keyboard (the computer part was in the keyboard) that you plugged into a television set. It had no disk drives to speak of, no real operating system, and when you turned it on, it just gave you a BASIC prompt (on that god-awful, eye scorching green background). It did however, have a tape recorder that you could use to save your data onto (using an audio cassette tape). Which of course you did, because after typing on the TRS-80 for more than an hour you inevitably ran out of memory. The TRS-80 only had 4 KB of RAM.
Side note: I am still fascinated by the tape recorder because essentially, the technology was the foundation for the modem, thus bulletin board services, message boards, thus the Internet, email, thus ADSL, eventually fiber, and this whole ridiculous networked world we live in now. It was technology way before its time. Computers could talk from the time computers hit the store shelves.
So, being that the green screen got boring rather quickly, I started entering the programs from the book it came with line for line, running them, and staying impressed for like five minuets before I just moved on to the next program. Before I knew it I was done with the entire book — and was bored again. So I started fiddling. I found I could change text in programs to make it say raunchy things (well, raunchy for a 5 year-old). Before I knew it, I was making my own programs.
My brother would sit down with me and a piece of graph paper and he would draw out a grid for a text-based adventure game. He would mark out where the bottomless pits and monsters would be, where the doors would be, the keys, and I would just sit back nodding my head at his creative genius. 30 minuets to an hour later we would have our game, I would save it on tape, and if we were really, really lucky, we could even load it back in and play it again. Those tapes were notoriously bad for losing data.
One more quick tangent: I found out later that I had reversed all the “East” and “West” commands in the games we made so the programs were essentially a mirror image of what my brother designed. In other words, I could program in BASIC, but the whole “East/West” thing? No, too much.
Inevitably this story will continue, to the detriment of all three of you reading.