ing most of their life to software than I had previously done, because I didn’t realize how much more bandwidth of my brain was being taken up by that work than it was when I was doing just theoretical work.
I think computer science is wonderful, but it’s not everything. Throughout my life I’ve been in a very loving religious community. I appreciate Luther as a theologian who said you don’t have to close your mind. You keep questioning. You never know the answer. You don’t just blindly believe something.
I’m a scientist, but on Sundays I would study with other people of our church on aspects of the Bible. I got this strange idea that maybe I could study the Bible the way a scientist would do it, by using random sampling. The rule I decided on was we were going to study Chapter 3, Verse 16 of every book of the Bible.
This idea of sampling turned out to be a good time-efficient way to get into a complicated subject. I actually got too confident that I knew much more than I actually had any right to, because I’m only studying less than 1/500th of the Bible. But a classical definition of a liberal education is that you know everything about something and something about everything.a
I enjoy working with collaborators, but I don’t think they enjoy working with me, because I’m very unreliable. I march to my own drummer, and I can’t be counted on to meet deadlines because I always underestimate things. I’m not a great coworker, and I’m very bad at delegating.
I have no good way to work with somebody else on tasks that I can do myself. It’s a huge skill that I lack. With the TeX project I think it was important, however, that I didn’t delegate the writing of the code. I needed to be the programmer on the first-generation project, and I needed to write the manual, too. If I delegated that, I wouldn’t have realized some parts
a See 3: 16 Bible Texts Illuminated, by Donald Knuth, A-R Editions, 1991.
of it are impossible to explain. I just changed them as I wrote the manual.
A program I read when I was in my first year of programming was the SOAP II assembler by Stan Poley at IBM. It was a symphony. It was smooth. Every line of code did two things. It was like seeing a grand master playing chess. That’s the first time I got a turn-on saying, “You can write a beautiful program.” It had an important effect on my life.
I’m worried about the present state of programming. Programmers now are supposed to mostly just use libraries. Programmers aren’t allowed to do their own thing from scratch anymore. They’re supposed to assemble reusable code that somebody else has written. There’s a bunch of things on the menu and you choose from these and put them together. Where’s the fun in that? Where’s the beauty in that? We have to figure out a way we can make programming interesting for the next generation of programmers.
What about the future of science and engineering generally? Knowledge in the world is exploding. Up until this point we had subjects, and a person would identify themselves with what I call the vertices of a graph. One vertex would be mathematics. Another vertex would be biology.
Another vertex would be computer science, a new one. There would be a physics vertex, and so on. People identified themselves as vertices, because these were the specialties. You could live in that vertex, and you would be able to understand most of the lectures that were given by your colleagues.
Knowledge is growing to the point where nobody can say they know all of mathematics, certainly. But there’s so much interdisciplinary work now. We see that a mathematician can study the printing industry, and some of the ideas of dynamic programming apply to book publishing. Wow! There are interactions galore wherever you look. My model of the future is that people won’t identify themselves with vertices, but rather with edges—with the connections between. Each person is a bridge between two other areas, and they identify themselves by the two subspecialties that they have a talent for.
When I was working on typography, it wasn’t fashionable for a computer science professor to do typography, but I thought it was important and a beautiful subject. Other people later told me that they’re so glad I put a few years into it, because it made it academically respectable, and now they could work on it themselves. They were afraid to do it themselves. When my books came out, they weren’t copies of any other books. They always were something that hadn’t been fashionable to do, but they corresponded to my own perception of what ought to be done.
Don’t just do trendy stuff. If something is really popular, I tend to think: back off. I tell myself and my students to go with your own aesthetics, what you think is important. Don’t do what you think other people think you want to do, but what you really want to do yourself. That’s been a guiding heuristic for me all the way through.
Edited by Len Shustek, Chair, Computer History Museum, Mountain View, CA.
© 2008 ACM 0001-0782/08/0800 $5.00
References:
Archives