UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity.
I'm not a person who particularly had heros when growing up.
C is peculiar in a lot of ways, but it, like many other successful things, has a certain unity of approach that stems from development in a small group.
I can't recall any difficulty in making the C language definition completely open - any discussion on the matter tended to mention languages whose inventors tried to keep tight control, and consequent ill fate.
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?
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.
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.
C++ and Java, say, are presumably growing faster than plain C, but I bet C will still be around.
For infrastructure technology, C will be hard to displace.
Over the past several years, I've been more in a managerial role.
I fix things now and then, more often tweak HTML and make scripts to do things.
Any editing, software work, and mail is done in this exported Plan 9.
Obviously, the person who had most influence on my career was Ken Thompson.
I've done a reasonable amount of travelling, which I enjoyed, but not for too long at a time.
A new release of Plan 9 happened in June, and at about the same time a new release of the Inferno system, which began here, was announced by Vita Nuova.
At least for the people who send me mail about a new language that they're designing, the general advice is: do it to learn about how to write a compiler.
I'm just an observer of Java, and where Microsoft wants to go with C# is too early to tell.
When I read commentary about suggestions for where C should go, I often think back and give thanks that it wasn't developed under the advice of a worldwide crowd.
My work was fairly theoretical. It was in recursive function theory. And in particular, hierarchies of functions in terms of computational complexity. I got involved in real computers and programming mainly by being - well, I was interested even as I came to graduate school.
One of the obvious things that went wrong with Multics as a commercial success was just that it was sort of over-engineered in a sense. There was just too much in it.