Dennis M. Ritchie
Location
- Dennis Ritchie
Bell Labs, Rm 2C-517
600 Mountain Ave.
Murray Hill, New Jersey 07974-0636, USA
- dmr@bell-labs.com
- +1 908-582-3770 (office), +1 908-582-5857 (fax)
In Memoriam
Dennis died in early October, 2011.
This is a note from his sister and brothers:
As Dennis's siblings, Lynn, John, and Bill Ritchie--on behalf of the entire Ritchie family--we wanted to convey to all of you how deeply moved, astonished, and appreciative we are of the loving tributes to Dennis that we have been reading. We can confirm what we keep hearing again and again:
Dennis was an unfailingly kind, sweet, unassuming, and generous brother--and of course a complete geek. He had a hilariously dry sense of humor, and a keen appreciation for life's absurdities--though his world view was entirely devoid of cynicism or mean-spiritedness.
We are terribly sad to have lost him, but touched beyond words to realize what a mark he made on the world, and how well his gentle personality--beyond his accomplishments--seems to be understood.
Lynn, John, and Bill Ritchie
History
For many years, I worked in the Computing Sciences Research Center
of Bell Labs. On October 2005, a reorganization redistributed this
group, and I'm now with the center called by
the slightly ungainly name of Convergence, Software and Computer Science
Laboratory (but still in the same office).
This experience has been more varied than it
might seem; here's some of the history:
When I joined in 1967, Bell Labs was a corporation jointly owned by
American Telephone and Telegraph Company and its subsidiary
Western Electric. Its official name was Bell Telephone Laboratories, Incorporated.
Soon after, Ken Thompson, together with me and
others, first started work on Unix.
Also soon after, AT&T, which still owned most of the Bell System,
updated its logo (I doubt the events were related).
The new logo just updated the image; corporate structure
remained the same. The material published by us during
the period up to 1984 used this
Bell logo and the name "Bell Laboratories."
In 1984, AT&T, under a negotiated consent decree,
divested the local telephone companies
it had owned and in the process gave up the Bell logo
and the Bell name except in connection with Bell Laboratories.
Bell Telephone Laboratories Inc. was dissolved as a corporation
and became an integrated unit of AT&T.
We lost the Wehrmacht helmet and gained the Deathstar,
and now identified ourselves as working at "AT&T Bell Laboratories."
In 1996, AT&T (this time voluntarily) spun off its systems
and technology organizations into Lucent Technologies, while
AT&T kept the services business. Bell Labs
stayed mostly with Lucent, though some of our colleagues helped
form a new AT&T labs, much as some of us went to Bellcore in 1984.
The new corporate logo usually includes the line "Bell Labs Innovations."
Lucent and Alcatel merged as of Dec 1, 2006.
Another new name and logo! and still the same office.
Bell Labs has remained a remarkably good place to
do work that has enduring impact over the long run,
no matter what the company, the courts, the PR types
or upper management decide should
be our name and logo on a given day or year.
Some material
Various things I've been involved with
are available in HTML, PostScript or PDF.
Some are papers of mine or by others, some are just interesting
incunabula. They're organized by category.
Unix papers and writings, approximately chronological
- Unix Programmer's Manual, First Edition (1971)
Page scan or Postscript (via OCR) of life before pipes or grep were invented.
- Notes for a Unix talk circa 1972
- `The Unix Time-sharing System,' the 1978 BSTJ update
of the 1974 C. ACM article by me and Ken Thompson
originally describing Unix:
browsable,
or PostScript
or PDF.
- `The Evolution of the Unix Time-sharing System,'
an account of developments during 1968-1973.
browsable,
or printable PostScript or
PDF
- A Memo from 1976 that proposes
buying a machine to which to port Unix, and the kinds of changes that would be needed
in C to make this possible. Although the memo itself is
rather pro forma, it's important in Unix history.
- Bob Bowles found and scanned a Unix ad from 1981.
See it now; it's not all that big. I found another, and
Vincent Guyot supplied a Xenix version.
-
Karl Kleine of Jena found and scanned an
early Unix license agreement, and also two
price lists for early 1980s systems.
See an introduction here.
- The entire
Seventh Edition Manual is available on-line,
with not only the man pages but all the papers.
(The sources for the entire system, plus earlier and some
later ones are also available; see the
links page.)
-
`Portability of C Programs and the UNIX System,'
by me and Steve Johnson is
available in several formats.
This link to early portability work collects not only
this paper (in various formats) but also related
papers by Richard Miller, Steve Johnson, Juris Reinfelds,
Tom London and John Reiser on 32V, as well as
later seminal work within Bell Labs
on a variety of machines.
-
`A Retrospective,' from AT&T Bell Laboratories
Technical Journal, 1978.
This link points to a short
description of the circumstances, with sublinks to renditions of the article.
- `A Stream Input/Output System', from AT&T Bell Laboratories
Technical Journal, 1984:
browsable,
or printable PostScript or
PDF
- I wrote a couple of papers
about experiences with Unix on a Cray X/MP.
The link is to an HTML page with a little background; it contains
sublinks to the papers.
- `Interprocess Communication in the Ninth Edition Unix System,'
with D. L. Presotto, from Software--Practice and Experience,
19, June 1990.
browsable,
or printable PostScript or
PDF
- An old picture of Ken, me, and some PDP-11s.
From the company archives, with a little photointerpretation.
- Why Ken had to invent | :
some partially enigmatic advice from Doug McIlroy that dates to 1964.
-
Some material from the Unix
Tenth Edition Manual, published in 1990. This was the last Unix manual
published by our group. The collection under the link is only a small
part of the whole two volumes, and contains a few documents describing
utilities that survived into Plan 9
but are not in its own manuals, notably pic and tbl.
Some are just neat, like pico.
C and its immediate ancestors
- BCPL Reference Manual by Martin Richards, dated July 1967.
The language described here supplied the basis for much of our own work and that
of others. The linked page discusses the circumstances, while
the files linked under it have the manual itself.
- Users' Reference to B, which describes
the B programming language; it is by Ken Thompson and describes
the PDP-11 version.
- CSTR #8 also describes
the B programming language; it is for the GCOS version
on Honeywell equipment. It is by Johnson and Kernighan.
- Resurrection of two
primeval C compilers from 1972-73,
including source. You won't be able to compile it with
today's compilers, but the link points to someone who succeeded in reviving
one of them.
- The version of the
C Reference Manual
Postscript (250KB) or
PDF, (79K)
that came with 6th Edition Unix (May 1975), in the second volume entitled
``Documents for Use With the Unix Time-sharing System''.
For completeness,
there are also versions of Kernighan's
tutorial on C, in Postscript or
PDF format.
There is also a slightly earlier (January 1974) version of the C manual,
in the form of an uninterpreted PDF scan of a Bell Labs
Technical Memorandum, visible here,
if you can accommodate 1.9MB.
No updated version of this manual was distributed with
most machine readable versions of the 7th Edition,
since the first edition of the `white book'
K&R
was published about the same time. The tutorial was greatly
expanded into the bulk of the book,
and the manual became the book's Appendix A.
However, it turns out that the paper copies of the 7th Edition
manual
that we printed locally include not only what
became Appendix A of K&R 1, but also a page entitled
"Recent Changes to C", and I retyped this. I haven't
been able to track down the contemporary machine-readable
version (it's possible that some tapes were produced that
included it). This is available in
PostScript or PDF
format.
The structure and even many bits of
wording of the manual survived into K&R I and thence into the ANSI/ISO standard
for the language.
-
A Bell Labs CS Tech. Report (#102) by Steve Johnson and me
discusses issues involved in designing a calling
sequence for C on various machines.
It is from 1981, and thus pre-ANSI,
but the issues haven't really changed. Available as
HTML,
PDF, or
Postscript.
- `The Development of the C Language', from HOPL II, 1993:
browsable,
or printable PostScript or
PDF
Angelo de Oliveira kindly supplied a translation into
Portuguese of the paper; his own MS Word
version is here, while
this is Word's rendition of
this into browsable HTML.
-
An HTML browsable transcript
of the talk I gave at HOPL II, with its slides.
It's entitled "Five Little Languages and How They Grew"
and it is quite different from the Development paper referenced just above.
- `Variable-size Arrays in C,' a proposal of mine that appeared in
Journal of C Language Translation, but is not the approach adopted for the
1999 ISO C standard:
browsable,
or printable PostScript or
PDF.
- The
The C Programming Language book has a home page.
It has acquisition information and the current errata list,
and cover art from various translations.
Interesting other things: architecture, editors, adventures
- Thompson's Space Travel Game, a graphical
entertainment that led Ken to find the PDP-7 that would become important.
- Dabbling in Cryptography, in which the author finds himself
involved in stronger political forces and higher mathematical creativity than is his wont.
- Labscam: a story from 1989,
whose protagonists are a show-biz duo, Plan 9 geeks, and a Nobel laureate.
- Historical notes (and a manual) on
QED, the ancestor of the Unix
ed and vi editors.
- VAX over 20+ years, our early
impression of Digital's architecture, with an assessment from Usenet
of 1988.
- Insider secrets: Values of beeta will give rise to Dom!
- A Letter from Washington,
an account of the experience of receiving the National Medal of
Technology.
- A brief article
I wrote for ICGA Journal, the publication of the International
Computer Games Association, recounting an appreciation of the
synergy between Ken Thompson's activities in chess, other games, and
systems. It includes a funny faked memo by Mike Lesk.
-
Some court papers
from the lawsuit brought by USL against BSDI,
then the University of California, in the early 1990s about Unix
intellectual property.
These may be relevant today in view of SCO's
recent actions.
Plan 9 and Inferno
- The new, open-source edition of the
Plan 9 system is available.
I contributed only a few bits and pieces to it, but did,
in effect, sign some paychecks to keep it going.
-
The system-structuring ideas of Plan 9 were adopted also by
the Inferno system, now distributed by
Vita Nuova.
Again, this was more a matter of signing paychecks than
doing the work, though I did write about it.
Links I've gathered
Biography
A brief biography, in first person
instead of obituary style.
Bibliography
bibtex format or
html format .
Fiddled: May 2006 to add organization changes;
March 2002, to add the HOPL talk link,
July 2002 to add the C tutorial paper, October 2002
to add the ICGA paper,
January 2003 to add the Portability paper,
April 2003 to add the Kleine material, October 2003
for additional portability papers.
December 2006 to add new Alcatel-Lucent logo.