7

Dennis Ritchie Home Page

 1 year ago
source link: https://www.bell-labs.com/usr/dmr/www/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Dennis Ritchie Home Page

Dennis M. Ritchie

Location

DMR picture

  • Dennis Ritchie
    Bell Labs, Rm 2C-517
    600 Mountain Ave.
    Murray Hill, New Jersey 07974-0636, USA
  • [email protected]
  • +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.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK