The art of computer programming

While he was over in the UK for a book tour and lecture series, Professor Donald Knuth made time to talk to BCS editor Justin Richards about his life and works.

Donald is author of the hugely respected The Art of Computer Programming book series and dozens of highly regarded academic papers on computer science.

You’re probably best known for your book series The Art of Computer Programming. In 1999, these books were named among the best twelve physical-science monographs of the century by American Scientist. How did these books originally come about and how do you feel about the American Scientist distinction?

The books came about because in the 60s, when I began, everyone was starting to rediscover things because there was no one good source of what was known and I had enjoyed writing all the time. I was involved in newspapers at school and magazines and thought of myself as a writer and I realised there was a need for someone to get down all the good ideas

that had been published and that we were already forgetting.

This was back in the earliest days when the number of people actually studying computing was probably less than a thousand. I didn’t see it as affecting the world but I still thought it was pretty cool stuff and ought to be organised.

Then I thought about who else could write such a book and everyone I thought of I thought they’d probably only mention their own stuff and I was the only guy I knew who hadn’t invented anything himself, so I figured I could be neutral and I could be a spokesman for the other people. And really that was the original motivation and I saw that there was this need there.

I started writing the book and naturally because I was trying to combine the ideas of many different people I would see where one person had analysed his method in one way while another, for a competing method, had analysed it another way. So I had to analyse method A according to author B and method B according to author A.

Therefore I ended up creating an original work just by analysing these things and pretty soon I realised there were a whole bunch of interesting scientific approaches here that hadn’t been part of my own education that were really coming together. Over and over again I was really seeing this way of thinking as necessary in order to get the story right.

So, to make a long story short, pretty soon I had my own axe to grind too; I started discovering things too and I couldn’t be an unbiased writer anymore. However, I still kept to the original idea of trying to summarise everybody’s ideas in the fairest, most reasonable way I could.

Now, to be put into that category of one of the best books of the century, that’s a little bit embarrassing as they rank me with Einstein and Feynman – I’m not in that league really, I just didn’t have as much competition – they had to have a token person in computer science! But still, I worked hard and I think it was necessary to comment on the research so far, but it’s a bit like comparing apples to oranges when they chose me to represent computing.

What is it about computer science that drew you to it?

I was born to be a computer scientist – I have a way of organising stuff in my head that just seems to make me a good programmer. I think everybody can learn to use computers, but only about one person in every 50 is a geek in the same way as I am. That means we can push the envelope and can resonate with the computer. The way we think helps to make it easier for us to know how to construct a machine.



The art of computer programming