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.Collection: Computers
For infrastructure technology, C will be hard to displace.Collection: Technology
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity.
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.
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 first phase of C was - really, it was two phases in short succession of, first, some language changes from B, really adding the type structure without too much change in the syntax, and doing the compiler. The second phase was slower; it all took place within a very few years, but it was a bit slower, so it seemed.
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.
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 MIT, mostly what I did was documentation. I sort of read things. Wrote some descriptions of various aspects of the file system. Did not really do very much programming at all. At least on Multics.
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.
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.
The kind of programming that C provides will probably remain similar absolutely or slowly decline in usage, but relatively, JavaScript or its variants, or XML, will continue to become more central.
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.
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.
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.
My father worked for Bell Labs. Hence, I knew very much about the place. I knew it because also he was involved with telephony.
The original version of C did not have structures. So to make tables of objects, process tables and file tables and this tables and that tables, it really was fairly painful.
The only way to learn a new programming language is by writing programs in it.Collection: Writing
C is quirky, flawed, and an enormous success.Collection: Quirky
Unix has retarded OS research by 10 years and linux has retarded it by 20.Collection: Years
A language that doesn't have everything is actually easier to program in than some that doCollection: Simplicity
Pretty much everything on the web uses those two things: C and UNIX.Collection: Two
Sometimes when you fill a vacuum, it still sucks.Collection: Vacuums
... with proper design, the features come cheaply. This approach is arduous, but continues to succeed.Collection: Design
Steve Jobs has said that Xwindows is brain-damamged and will disappear in two years. He got it half-right.Collection: Jobs
I'm still uncertain about the language declaration syntax.Collection: Syntax
The number of UNIX installations has grown to 10, with more expected.Collection: Numbers
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 compilerCollection: Writing
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.Collection: Real
A program designed for inputs from people is usually stressed beyond breaking point by computer-generated inputs.Collection: People
UNIX is simple and coherent, but it takes a genius (or at any rate, a programmer) to understand and appreciate its simplicity.Collection: Simple
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 fateCollection: Fate
It seems certain that much of the success of Unix follows from the readability, modifiability, and portability of its software.Collection: Unix
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.Collection: Strong
Twenty percent of all input forms filled out by people contain bad data.Collection: Filled Out
The notion of a record is an obsolete remnant of the days of the 80-column card.Collection: Humorous
For books, I don't read much fiction, but like travel essays and good pop-science.Collection: Book
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.Collection: Ideas
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.Collection: Home
Some consider UNIX to be the second most important invention to come out of AT&T Bell Labs after the transistor.Collection: Important
From an operating system research point of view, Unix is if not dead certainly old stuff, and it's clear that people should be looking beyond it.Collection: Views
I listen to mostly-classical music, but mostly by radio - I'm not an audiophile.Collection: Radio