Programming: A History
Note: This hasn't been updated in a long time. -bmc (10.23.07)
I've been programming for over fifteen years now. When I was seven or eight, I was watching The Voyage of the Mimi on PBS. I don't rememember much about the episode other than that the characters were visiting a Mayan archaeology site. One of them wrote a program to convert Mayan number glyphs to our numerals and showed it to another character. My interest perked up, but yet I didn't quite know what it was I was interested in. I went to my mother and explained what I wanted to do, asking if I could do it in WordPerfect. She smiled and told me that it was called programming, and that no, I couldn't do it in WordPerfect, but we could go to the library and get some books on it. And so we did. I came home that day with four or five books on BASIC programming. I didn't realize till later that all of them were for old computers (TRS-80s and Commodore 64s and such), but thankfully BASIC was homogenous enough across platforms for me to get started.
We had a friend of the family show me how to get into the BASIC interpreter (BASICA.COM -- only later did I discover GWBASIC.COM and QBASIC.EXE). I played around a bit, typed in programs from the books, tried things out, got frustrated, tried again, and eventually learned how to program.
Being a young boy, I was naturally interested in programming games, like those I saw my friends play on the Nintendo (Super Mario Brothers, The Legend of Zelda, etc.). But none of the graphics commands in the books worked. After several weeks of frustration, I discovered the SCREEN command, which let me change to the various graphics modes. (SCREEN 0 was the standard text mode; SCREEN 1 was the 320x200 black-and-white mode; SCREEN 2 was a 640x400 mode which always looked skinny to me; and SCREEN 13 was the 320x200 mode with 256 colors which was to become my favorite.) PSET and CIRCLE and LINE actually worked now, much to my delight.
A couple of years later, a friend gave me Turbo Pascal 5.5 for DOS. I quickly learned it and found out how to do graphics (ah, BGI graphics bring back memories... :)). A few of my friends were heavily into Pascal programming at that time, and through them and bulletin board systems, I became fairly proficient.
Then I discovered assembly language. I never ended up learning it very well, but I did use it for high-speed graphics routines (mostly plotting pixels and setting graphics modes and such), which I placed inline in my Pascal programs. I began getting interested in graphics libraries and attempted a few of my own.
Two years after I had begun Pascal, a neighbor offered to teach me C. I took lessons for a month or so. A few days after starting, I finally found a free C compiler online (the Small C Compiler, I think) and was very excited when my "Hello, world!" program actually compiled and ran. For Christmas that year my parents bought me Turbo C++ 3.0 for DOS. I think Windows 3.1 was released by this time, but I was still using DOS (which I still like more than Windows :)).
I began high school a year or two later and signed up for the AP Computer Science class. C and C++ were my languages of choice ever since I came in contact with them.
I dabbled in Perl one summer and quite liked it, but haven't had the time to keep it up. I also started learning Python once upon a time. Last summer I worked at NextPage, maintaining their internal website (which was written in ASP). Recently I discovered PHP, which I much prefer to ASP.
Right now I don't do much programming other than work on this website. Web development has taken my fancy and is much more satisfying to me than other types of programming. My interest in game programming has almost completely died out, although from time to time I'll get nostalgic and want to write a Zelda clone or something.

