Ken Thompson
482
I think my first one was a humanities professor cataloging Homer’s work.
And he had The Iliad and The Odyssey on cards. He wanted word frequencies
and counts—essentially statistical analysis of these two works. And that was
fun. It was text processing, which just wasn’t done by computers in those
days. So that was my first odd job.
Seibel: In a 1999 interview you talked about how you had told your son he
should go into biology instead of computers because you thought
computers were played out. That was almost ten years ago. How do you
feel about that now?
Thompson: I feel the same. Nothing much new has happened in
computers that you couldn’t have predicted. The last significant thing, I
think, was the Internet, and that was certainly in place in ’99. Everything has
expanded—the speed of individual computers is still expanding
exponentially, but what’s different?
Seibel: Reading the history of Unix, it seems like you guys basically
invented an operating system because you wanted a way to play with this
computer. So in order to do what today might be a very basic thing, such as
write a game or something on a computer, well, you had to write a whole
operating system. You needed to write compilers and build a lot of
infrastructure to be able to do anything. I’m sure all of that was fun for its
own sake. But I wonder if maybe the complexity of modern programming
that we talked about before, with all these layers that fit together, is that
just the modern equivalent of, “Well, first step is you have to build your
own operating system”? At least you don’t have to do that anymore.
Thompson: But it’s worse than that. The operating system is not only
given; it’s mandatory. If you interview somebody coming out of computer
science right now, they don’t understand the underlying computing at all. It’s
really, really scary how abstract they are from what a computer is or even
the theory of computing. They just don’t understand it.
Seibel: I was thinking about your advice to your son to go into biology
instead of computing. Isn’t there something about programming—the
intellectual fun of defining a process that can be enacted for you by these
magical machines—that’s the same whether you’re operating very close to
the hardware at a very abstract level?