Dennis Ritchie and Ken Thompson
This morning the news came over the internet: Dennis Ritchie has died.
Dr. Ritchie doesn’t have the mainstream adoring following of Steve Jobs, but he can take considerably more credit for the creation, and even the aesthetics, of the computer world we live in. It’s almost impossible to find a personal computing product or paradigm that doesn’t owe a direct debt to Ritchie.
At Bell Labs in the heady 1970s, Dennis Ritchie created the C programming language and co-developed the Unix operating system. Before C and Unix came along, the computer world was fragmented in a way that’s hard to imagine — there was no such thing as software written to run on a variety of computers. Everything was custom-coded for its particular platform, and every platform had wildly different standards for such fundamental things as “how big is a byte?”
Everything we’ve got — Internet servers, telephone backbones, the microprocessor in the keyboard I’m using to type this — emanates from Ritchie’s work. You are reading this on a Drupal-powered web site; Drupal is written in PHP, which in turn is written in C. (Unless you printed out the page on a printer whose internals were coded in C.) Here, take a look at this table of what programming languages are used to implement popular software. Note how heavily populated are the C column and, next to it, the column for C++, which was developed as an enhanced C.
Lest his seem like a dry, behind–the-scenes legacy, I will quote in full Dennis Ritchie’s 1994 “anti-foreword” to the Unix-Haters’ Handbook. Ritchie was right.
Date: Tue, 15 Mar 1994 00:38:07 EST
To the contributers to this book:
I have succumbed to the temptation you offered in your preface: I do write you off as envious malcontents and romantic keepers of memo- ries. The systems you remember so fondly (TOPS-20, ITS, Multics, Lisp Machine, Cedar/Mesa, the Dorado) are not just out to pasture, they are fertilizing it from below.
Your judgments are not keen, they are intoxicated by metaphor. In the Preface you suffer first from heat, lice, and malnourishment, then become prisoners in a Gulag. In Chapter 1 you are in turn infected by a virus, racked by drug addiction, and addled by puffiness of the genome.
Yet your prison without coherent design continues to imprison you. How can this be, if it has no strong places? The rational prisoner exploits the weak places, creates order from chaos: instead, collec- tives like the FSF vindicate their jailers by building cells almost compatible with the existing ones, albeit with more features. The journalist with three undergraduate degrees from MIT, the researcher at Microsoft, and the senior scientist at Apple might volunteer a few words about the regulations of the prisons to which they have been transferred.
Your sense of the possible is in no sense pure: sometimes you want the same thing you have, but wish you had done it yourselves; other times you want something different, but can't seem to get people to use it; sometimes one wonders why you just don't shut up and tell people to buy a PC with Windows or a Mac. No Gulag or lice, just a future whose intellectual tone and interaction style is set by Sonic the Hedgehog. You claim to seek progress, but you succeed mainly in whining.
Here is my metaphor: your book is a pudding stuffed with apposite observations, many well-conceived. Like excrement, it contains enough undigested nuggets of nutrition to sustain life for some. But it is not a tasty pie: it reeks too much of contempt and of envy.