Programming

Loki hugging the keyboard

Programming is hard work.

My father is a mainframe programmer, who works mostly in COBOL. As I child I was always curious about the funny green characters filling the screen on our monochrome 386. We had Windows 3.0 and it came with a copy of Q-BASIC. One day we borrowed a book of BASIC programs from the library. I meticulously typed them in and was amazed at what I was able to do. The most impressive program I wrote played the Mission Impossible theme through the computer's internal speaker. Dad helped, of course. We translated each note from the sheet music to a decimal value. It was only monophonic, and only the melody, but impressive nonetheless. 

Dad would also telnet into the library to renew books, browse the catalog and put holds on titles he wanted. He would string a telephone cable from the computer, across the floor, and plug it into the wall jack in the kitchen. I was astonished that you could do something like that over the telephone lines. 

Loki hugging the keyboard

The Express Page
(thanks to Wayback Machine).

A few years later, when we had the Internet, I discovered a site called The Express Page that would let you create webpages for free. I began to make websites for anything and everything. At first I just used the page creation tool that The Express Page provided, but then I realized that by writing the HTML myself I would have more control and flexibility. I'm sure the early sites I created looked terrible, but it was so much fun.

Eventually, I got tired of updating every single page when something changed, which led me to PHP. I began to make simple database-driven sites that would be assembled by PHP scripts. I found the same challenges/rewards from Q-BASIC in PHP. The idea that for any problem there existed dozens of solutions, some better than others, but none which could be called 'right', really stuck with me. Some solutions were more efficient but complex, others slower but simpler. You could attack the problem from different angles, think in different ways, and sometimes come up with the same solution. I always liked that even through programming itself is so logical, the correctness of programs is completely subjective. If one program takes half as long as another, but is impossible to maintain, which program is better? It depends and it's up to the programmer to find the balance.

Loki hugging the keyboard

Some of the source from this site.

After PHP, I moved on to Python, C, Perl, and Java. Although I try to be as language-agnostic as possible, Python is my favorite (I do miss the curly brackets sometimes though). My goal is to learn Lisp at some point for the sheer enlightenment it supposedly brings. Interestingly enough, for an internship after college I got to program on mainframes in COBOL, just like dad. That was the only time when I have ever called him for computer help. 

Page was last updated on October 11, 2009 at 09:37 pm