Friday, 14 October 2011

Thank You to Dennis Ritchie, Without Whom None of This Would Be Here

Dennis Ritchie and Ken Thompson Ritchie is standing; Thompson is sitting. They are both inventing Unix.

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
Subject: anti-foreword
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
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
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
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.
Bon appetit!