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."