C Program Interview - Dennis Ritchie
We've interviewed Dennis
Ritchie, who really doesn't need an introduction (hint: "C" and
"Unix").
How and when did you
first come in contact with computers?
Dennis Ritchie: At some point when I was an undergraduate in college
(about 1960) I went to some non-course talks about computers that intrigued
me, and I signed up for the regular (introductory) one-term course. The first
part was about analog computers, then a brief bit about punch-card equipment,
then some about real digital computers, in which we prepared a program for
the Univac I. I was an undergraduate Physics major, but began to intrigued
more by both the theory and practice of computing. So in grad school my
thesis work was fairly theoretical (hierarchies of recursive functions), but
I also began to get more into the practical aspects. I was for three years
one of the teaching assistants for successive versions of that same
introductory course--which by that time had moved to the IBM 7094.
What do you consider your greatest achievement in the field of computing
to be?
Dennis Ritchie: The single thing that I'm happiest about is that the
notion of making the Unix system portable was mostly mine. C was already
implemented on several quite different machines and OSs, Unix was already
being distributed on the PDP-11, but the portability of the whole system was
new.
Any new accomplishments in sight? What are your current project(s)?
Dennis Ritchie: There is no new grand thing to announce--I've been spending
more time on history! Over the past several years, I've been more in a
managerial role. The visible things that have come from the group have been
the Plan 9 system and Inferno, but I hasten to say that the ideas and the
work have come from colleagues. I was more a pay-check signer and giver of
talks when others just wanted to work.
How much time do you spend programming nowadays?
Dennis Ritchie: Little programming as such. I fix things now and then,
more often tweak HTML and make scripts to do things.
Could you please describe a typical work day at Bell Labs? What software
do you use?
Dennis Ritchie: I tend to come in late unless there's a meeting, but
spend a fair amount of time tending to e-mail communication. My own
environment (on PC hardware) actually runs Windows NT, but it is used mainly
as a graphics terminal connected to a Plan 9 server, in a way approximately
analogous to an X windows client. The connection at home is now via cable
modem (until last summer ISDN), and Ethernet at the office. Any editing,
software work, and mail is done in this exported Plan 9. For stuff like
getting Excel and Word things, plus much WWW browsing, I revert to NT.
Do you have any predictions as to the future of C?
Dennis Ritchie: C is declining somewhat in usage compared to C++, and
maybe Java, but perhaps even more compared to higher-level scripting
languages. It's still fairly strong for the basic system-type things.
What's your opinion on microkernels vs. monolithic?
Dennis Ritchie: They're not all that different when you actually use
them. "Micro" kernels tend to be pretty large these days, and
"monolithic" with loadable device drivers are taking up more of the
advantages claimed for microkernels.
Do you agree with Rob Pike's thoughts on the (ir)relevance of systems
research? (http://cm.bell-labs.com/who/rob/utah2000.ps)
Dennis Ritchie: Pretty much, although Rob was stating his case in a
deliberately provocative way. It's true that compared with the scene when
Unix started, today the ecological niches are fairly full, and fresh new OS
ideas are harder to come by, or at least to propagate.
What do you think about the development of Linux and the BSD variants? Do
you think they'll eventually replace all the proprietary Unix systems?
Dennis Ritchie: As a general phenomenon, I think they're great, but
they suffer from much the same struggles and competition that the proprietary
ones did and do. Sun and HP, SGI , IBM, Digital others all have (or had)
variants of the same thing-- so too do Linux and the BSDs. Their proprietors
may have different motivations for producing the variants, of course. And of
course each does have its own attractions. There is a kind of brand
differentiation, and this is one of the reasons why portability is hard.
Any thoughts about the GNU project? How did you first learn about it?
Dennis Ritchie: I can't remember when I first learned about it, but a
long time ago. The True-GNU philosophy is more extreme than I care for, but
it certainly laid a foundation for the current scene, as well as providing
real software. The interesting thing is the way that free-software ideas have
begun to influence major existing commercial players. At the same time, much of
it seems to have to do with recreating things we or others had already done;
it seems rather derivative intellectually; is there a dearth of really new
ideas? But still, it's a great satisfaction that so much of it has built on
top of a basis we helped to establish.
Who are some of the people that you admire? (in the computer world or
otherwise)
Dennis Ritchie: I'm not a person who particularly had heros when
growing up. Obviously, the person who had most influence on my career was Ken
Thompson. Unix was basically his, likewise C's predecessor, likewise much of
the basis of Plan 9 (though Rob Pike was the real force in getting it
together). And in the meantime Ken created the first computer chess master
and pretty much rewrote the book on chess endgames. He is quite a phenomenon.
Outside work, what do you enjoy doing?
Dennis Ritchie: It all sort of merges together. Much of it is
computer-related (the WWW and all that). Other than that, reading actual
paper, probably. I've done a reasonable amount of travelling, which I
enjoyed, but not for too long at a time. I'm a home-body and get fatigued by
it fairly soon, but enjoy thinking back on experiences when I've returned and
then often wish I'd arranged a longer stay in the somewhat exotic place.
Any music, literature or movies you can recommend?
Dennis Ritchie: I listen to mostly-classical music, but mostly by
radio-- I'm not an audiophile. For books, I don't read much fiction, but like
travel essays and good pop-science: say Stephen Jay Gould or Kip Thorne. Also
some humor--I am a great fan of S. J. Perelman. Right now I'm reading John
McPhee's "The Founding Fish."
Dennis
Ritchie's homepage