One of my role models turns 70
Today is the 70th birthday of Donald Knuth. For those of you who don’t know, he is arguably one of the most notable and influential figures in the history of computer science, and certainly the most important one who is still alive today. Though the guy has produced just an amazing amount of written works he’s probably best known for The Art of Computer Programming; that’s how I was first introduced.
When I was a young kid, around six or seven years old, I was starting to get more and more interested in computers and more specifically how they worked. I was extraordinarily lucky. At that age (we’re talking around 1988) I wasn’t only fortunate enough to have access to a computer in the home, but I had my own computer. My dad (being an electrical engineer and very interested in computers) always liked this kind of stuff, and so we had a computer in the house from as early as I can remember. I remember getting several different computers. First, there was the old Radio Shack kit. Next, the Atari ST and then, a quantum leap in terms of capability and power: the Amiga 1000.
This was the system that I really cut my teeth on. I learned my first programming language (AMOS Pro) on that system when I was about 8. Looking back the AMOS Pro (albeit a simple language) was an amazingly complete package. I think it was a great language to learn as a beginner, not only because it was simple, but also because it didn’t actually interface with AmigaOS; programs you wrote in AMOS controlled the computer directly. This ended up being a bit of a fault with the language in the long run (the Wikipedia article cites a few reasons) but as a kid just trying to understand exactly what was going on it provided that “against the metal” experience that I think is crucial to really form a solid understanding of what it means to actually program a computer. The tools have gotten sophisticated enough and the systems have gotten sufficiently complicated that I think some of that is lost in the current day and age, definitely for most general programmers. Even graduates of well renowned computer science programs often don’t have would I would consider a complete understanding of the processes involved.
But I digress. The point is that I was lucky to have so much exposure so early to computers. (Well, I guess lucky is one way of looking at it.) Some years pass and I’m now about 9 or 10 I have my very own Amiga 2000 in my bedroom and we also have a Hayes 1200 baud modem. Talk about good times. But it wasn’t enough. I needed to know more. I was interested in it, but beyond doing some sprite-based games in AMOS I didn’t really have an appreciation for everything else that you could do with a computer. That’s when I found my dad’s copy of The Art of Computer Programming Volume 1: Fundamental Algorithms.
This book basically laid it all out. While a good deal of it was over my head, I was sufficiently familiar with the concepts where I was able to understand a fair bit, and figure out quite a bit more. I think that was probably one of my biggest jumps in understanding about programming, even more than when I went to college to study computer science. And at that point I was also hooked. The light had turned on and finally I understood just how broad the field was.
So, thank you Donald Knuth. I’m sure there are many others like me who found something amazing in your books and made it their life’s work as well.








January 11th, 2008 11:26
Wunderkind.
January 11th, 2008 17:12
I’d like to read that book sometime…