Location

DMR picture

  • 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:

Old Bell System logo


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.

New Bell System logo


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.”

AT&T logo


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.”

Lucent logo


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.”

Alcatel-Lucent logo



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.

Read More