Jul 22 2007

About my Personal Interests

Published by Derek

Personal Interests

As with many others interested in computers, my interest began (and obsessed) with computer games at an early age. Some of my earliest obsessions took place developing adventure games on an Apple IIe computer (inspired by much playing of Zork and other great Infocom titles). Only later, when I got to college, did I realize how much I had been learning, not just about programming, but about formal concepts like finite state automata, parsers, etc.

My early work with computer games gave, at least to me, a fascinating revelation. Having this complete control over a whole world, and being able to build it from scratch is a very powerful act of creation. Not to mention that one can quite easily develop programs that do things that are interesting, even surprising, to oneself, despite the popular wisdom that computers only do what you tell them to do. Thus the revelation: it is possible to build programs that do, not just what you tell them to do, but are (in some ways) smart, maybe even smarter than yourself in some ways. Thus I guess something like this led to my fascination with the idea of creating intelligent programs, in the most general sense.

I jumped from the Apple II computer to Unix development only after moving on to college. All I had were Apples and Commodores while I was growing up. But upon entering college I was introduced to Unix, and was hooked with its vision of development as building many small tools that do small things well, and hooking them up to do larger tasks (component based development). I can’t pass by this point without putting on my Professor’s Cap and lecturing any students who might have somehow stumbled up to this point.

<‭lecture> Computer Science and even Software Development is about a LOT more than just programming. Learning to program in a programming language is only the first (very small but of course necessary and important) step in the process. If you don’t know what a revision control system is, or how to use an automated build system, you are not really yet a student of Computing or Software Development. Look at least at something like Software Carpentry for an example of what I am talking about.</lecture>

Trackback URI | Comments RSS

Leave a Reply