I am a Dinosaur! Like Dirty Harry was a Dinosaur to his law enforcement peers, I am a Dinosaur to my computer programming peers. I discovered this the other day when talking with another (cough) younger programmer who was amazed to find out that I actually went to college to learn computer programming. I didn't have the stomach to admit to him that in college my assignments were turned in on wide, green-bar paper!
I have been writing computer programs professionally for 22 years now. To put this archeological period in perspective, if I were a piece of mail, at the outset I would have been delivered by the Pony Express whereas today I am delivered but Jets and hybrid vehicles (albeit to the wrong address)!
I find that a little self-perspective is helpful so at this juncture in my long career I felt it beneficial to review my humble beginnings. My first exposure to computers was my sophomore year in high school (circa 1978) when we were asked to type in basic programs on a teletype machine. If you've ever seen an old movie (Dr. Strangelove comes to mind) and a government official is awaiting news, a noisy typewriter starts to rattle and shake as it spits out a continuous feed of rolled paper with barely decipherable print. That is the teletype machine.
Basically, you would type in a line of program code and then press a key and the characters that you typed would be repeated on the page. If you mistyped you would have to completely retype the line. This was done repeatedly until you had stored your basic program in the computer's memory. Then you would process the job (run the program in today's parlance) and hope that everything executed properly and you got the desired results, again in the form of type-written output.
Most of the code written involved simple math problems or problem solving but we also developed games and everyone's favorite, "banners". One task was to write a program that would print out your last name in block letters formed by a series of repeated X's. I felt bad for my friend John Poulioupolis but he was up for the task!
The glamour of all of this inspired me to declare Computer Science my college major. I enrolled at Bridgewater State College in (coincidently) Bridgewater, Massachusetts. During freshman orientation we were taken to the computer lab for instructions on logging into the campus computer network. The room was filled with Decwriters (the successor to the teletype which I was familiar with) and a few small television screens, which I only assumed was for keeping up with the latest on daytime television drama. These devices couldn't possibly be used for computer access. I slid comfortably into familiar territory at the console of a Decwriter and began testing my login.
I continued to use the Decwriter for the first few weeks until one day they were all in use and the only terminal available in the lab was one of those strange computer screens. Feeling somewhat like Indiana Jones, I sat in front of the machine and stared at the peculiar green blinking light (now known as a cursor). Apparently, this wasn't a television but a Cathode Ray Tube (CRT) terminal. I started typing on the attached keyboard and was able to logon. Suddenly the text appeared before me just as it had on my faithful Decwriter. Well, now I was hooked! Imagine, interacting with something other than a typewriter console. Now this was progress!
During my sophomore year I had the distinct pleasure of experiencing the COBOL programming language for the first time. In addition to learning this fascinating, English-based language, I had the opportunity to work with IBM punched cards. Imagine my delight when I was asked to type an entire COBOL program on punched cards including the data source. If you didn't know (and how can you since COBOL is now in the Smithsonian Institute) COBOL programs have a tendency of being very large. What would have been an hour on a CRT took nearly four on the IBM machine. After this long exercise, I had to enclose the large deck of cards in a piece of paper donning my name and student ID. It was then deposited in a box where it would await processing. This was typically a 24-hour process so if there was a single error in my program I wouldn't know until the next day. Then I would have to correct the card or cards in error and resubmit the job.
My favorite professor at Bridgewater State College was Dr. Zon I. Chang. He was also the most difficult. I remember his speech (in broken English) to us as freshman when he warned us not to copy another student's program.
"You copy program from friend, you better get job with friend, else you don't know what you are doing!"
He was also a stickler for accuracy. Every program that we turned in had to be documented a certain way. We would lose points on our assignments if comments were not accurate and consistent. He did instill in me some very good programming habits which I carry to this day.
The Computer Science program at BSC was difficult and thorough. For my freshman orientation I sat in a room with about 150 other students. When I received my diploma, I was accompanied by about 25. I take pride in having endured and fought through the difficulties and challenges.
The environment for the BSC Computer Science program was largely scientific and focused very little on providing business solutions. Ironically, since graduation I have specialized in the development of business systems. Our senior projects focused on building compilers, assemblers and operating systems. We studied complex algorithms, data structures and examined probability and statistics. It was a different world in the early 1980's and the tools we used to solve problems seem like the hand axe to a modern carpenter.
So here we are back in 2008. I'm working on my blog, subscribing to RSS feeds and reading and sending email on my cell phone. We develop applications that run entirely on the Internet and work with handheld communications devices that allow users to update information real-time wherever they are. Yes, I am a Dinosaur. A Dinosaur who has evolved and escaped the tar pits. As I take the reigns of my keyboard today, I stare my daily challenges square in the eye and say...
"I know what you're thinking. Did I fire up 6 procedures or only 5. To tell you the truth, in all the confusion, I forgot myself. But being as though this is Microsoft Visual Studio, the most powerful software development tool in the world and will blow your mind completely away, you have to ask yourself one question. Do you feel lucky?"
Well do you?
In part II, I'll discuss my early experiences in the business world developing software for the "doomed" mini-computer!