2004-6-23 11:27
sky-walker
<HTML><br /><head><br /><!-- BELL-LABS<br />username Ritchie, Dennis<br />category user<br />contact dmr@bell-labs.com<br />--><br /><BASE HREF="http://cm.bell-labs.com/cm/cs/who/dmr/"><br /><title>Dennis Ritchie Home Page</title><br /></head><br /><BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#330088" ALINK="#FF0044"><br /><h1>Dennis M. Ritchie</h1><br /><br /><h2>Location</h2><br /><IMG ALIGN="left" WIDTH=125 HEIGHT=145 HSPACE=100 SRC="dmr.gif" alt="DMR picture"><br /><UL><br /><li>Dennis Ritchie<br /><br><br /><a href="http://www.bell-labs.com/">Bell Labs</a>, Rm 2C-517<br /><br><br />600 Mountain Ave.<br /><br>Murray Hill, New Jersey 07974-0636, USA<br /><li>dmr@bell-labs.com<br /><li>+1 908-582-3770 <em>(office)</em>, +1 908-582-5857 <em>(fax)</em><br /></ul><br /><br /><br><br /><hr><br /><h2>History</h2><br /><br />I work in the<br /><a href="/cm/cs/"> Computing Sciences Research Center</a><br />of Bell Labs, and have for a long time.<br />This experience has been more varied than it<br />might seem; here's some of the history:<br /><p><br /><br /><img src=bellsys.gif alt="Old Bell System logo" hspace=30 align="left"><br><br />When I joined in 1967, Bell Labs was a corporation jointly owned by<br />American Telephone and Telegraph Company and its subsidiary<br />Western Electric. Its official name was Bell Telephone Laboratories, Incorporated.<br /><br /><p><br /><img src=nbell.gif alt="New Bell System logo" hspace=50 align="left"><br><br />Soon after, Ken Thompson, together with me and<br />others, first started work on Unix.<br />Also soon after, AT&amp;T, which still owned most of the Bell System,<br />updated its logo (I doubt the events were related).<br />The new logo just updated the image; corporate structure<br />remained the same. The material published by us during<br />the period up to 1984 used this<br />Bell logo and the name "Bell Laboratories."<br /><br /><p><br /><img src=att.gif alt="AT&amp;T logo" height=50 width=100 hspace=30 align="left"><br><br />In 1984, AT&amp;T, under a negotiated consent decree,<br />divested the local telephone companies<br />it had owned and in the process gave up the Bell logo<br />and the Bell name except in connection with Bell Laboratories.<br />Bell Telephone Laboratories Inc. was dissolved as a corporation<br />and became an integrated unit of AT&amp;T.<br />We lost the Wehrmacht helmet and gained the Deathstar,<br />and now identified ourselves as working at "AT&amp;T Bell Laboratories."<br /><br /><p><br /><img src=lu.gif alt="Lucent logo" hspace=25 align="left"><br><br />In 1996, AT&amp;T (this time voluntarily) spun off its systems<br />and technology organizations into Lucent Technologies, while<br />AT&amp;T kept the services business. Bell Labs<br />stayed mostly with Lucent, though some of our colleagues helped<br />form a new AT&amp;T labs, much as some of us went to Bellcore in 1984.<br />The new corporate logo usually includes the line "Bell Labs Innovations."<br /><br /><p><br />Bell Labs remains a remarkably good place to<br />do work that has enduring impact over the long run,<br />no matter what the company, the courts, and PR types decide should<br />be our name and logo on a given day or year.<br /><br /><h3>Some material</h3><br />Various things I've been involved with<br />are available in HTML, PostScript or PDF.<br />Some are papers of mine or by others, some are just interesting<br />incunabula. They're organized by category.<br /><br /><h2><br />Unix papers and writings, approximately chronological<br /></h2><br /><ul><br /><p><br /><li> <a href="1stEdman.html">Unix Programmer's Manual, First Edition (1971)</a><br />Page scan or Postscript (via OCR) of life before pipes or grep were invented.<br /><br /><p><br /><li><a href="notes.html">Notes for a Unix talk</a> circa 1972<br /><br /><p><br /><li>`The Unix Time-sharing System,' the 1978 BSTJ update<br />of the 1974 C. ACM article by me and Ken Thompson<br />originally describing Unix:<br /><br><a href="cacm.html">browsable</a>,<br />or <a href="cacm.ps">PostScript</a><br />or <a href="cacm.pdf">PDF</a>.<br /><br /><p><br /><li>`The Evolution of the Unix Time-sharing System,'<br />an account of developments during 1968-1973.<br /><br><a href="hist.html">browsable</a>,<br />or printable <a href="hist.ps">PostScript</a> or<br /><a href="hist.pdf">PDF</a><br /><br /><p><br /><li><A HREF=firstport.html>A Memo</A> from 1976 that proposes<br />buying a machine to which to port Unix, and the kinds of changes that would be needed<br />in C to make this possible. Although the memo itself is<br />rather <i>pro forma</i>, it's important in Unix history.<br /><br /><p><br /><li> Bob Bowles found and scanned a <a href="unixad.html">Unix ad from 1981</a>.<br />See it now; it's not all that big.<br /><br /><p><br /><li><br /><IMG SRC="new.gif" ALT="new"><br />Karl Kleine of Jena found and scanned an<br />early Unix license agreement, and also two<br />price lists for early 1980s systems.<br />See an <A href="licenses.html">introduction</A> here.<br /><br /><p><br /><li>The entire <a href="http://plan9.bell-labs.com/7thEdMan"><br />Seventh Edition Manual</a> is available on-line,<br />with not only the man pages but all the papers.<br />(The sources for the entire system, plus earlier and some<br />later ones are also available; see the<br /><A href="complinks.html#oldunix">links</A> page.)<br /><br /><p><br /><li><br /><IMG SRC="new.gif" ALT="new"><br />`Portability of C Programs and the UNIX System,'<br />by me and Steve Johnson is<br />available in several formats.<br />This link to <A href="portpapers.html">early portability</A> work collects not only<br />this paper (in various formats) but also related<br />papers by Richard Miller, Steve Johnson, Juris Reinfelds,<br />Tom London and John Reiser on 32V, as well as <br />later seminal work within Bell Labs <br />on a variety of machines.<br /><p><br /><li><br />`A Retrospective,' from AT&amp;T Bell Laboratories<br />Technical Journal, 1978.<br /><a href="retroindex.html">This link</a> points to a short<br />description of the circumstances, with sublinks to renditions of the article.<br /><br /><p><br /><li>`A Stream Input/Output System', from AT&amp;T Bell Laboratories<br />Technical Journal, 1984:<br /><br><a href="st.html">browsable</a>,<br />or printable <a href="st.ps">PostScript</a> or<br /><a href="st.pdf">PDF</a><br /><br /><p><br /><li> I wrote a couple of papers<br />about experiences with <A href="cray.html">Unix on a Cray X/MP</A>.<br />The link is to an HTML page with a little background; it contains<br />sublinks to the papers.<br /><br /><p><br /><li> `Interprocess Communication in the Ninth Edition Unix System,'<br />with D. L. Presotto, from Software--Practice and Experience,<br /><b>19</b>, June 1990.<br /><br><a href="ipcpaper.html">browsable</a>,<br />or printable <a href="spe.ps">PostScript</a> or<br /><a href="spe.pdf">PDF</a><br /><br /><p><br /><li>An <A HREF="picture.html">old picture</A> of Ken, me, and some PDP-11s.<br />From the company archives, with a little photointerpretation.<br /><br /><p><br /><li><A HREF="mdmpipe.html">Why Ken had to invent <b>|</b> &nbsp;</A>:<br />some partially enigmatic advice from Doug McIlroy that dates to 1964.<br /><br /><p><br /><li><br />Some material from the Unix<br /><A HREF="http://www.cs.bell-labs.com/10thEdMan/index.html"><br />Tenth Edition Manual</A>, published in 1990. This was the last Unix manual<br />published by our group. The collection under the link is only a small<br />part of the whole two volumes, and contains a few documents describing<br />utilities that survived into <A HREF="http://plan9.bell-labs.com/plan9dist">Plan 9</A><br />but are not in its own manuals, notably <i>pic</i> and <i>tbl</i>.<br />Some are just neat, like <i>pico</i>.<br /><br /></ul><br /><br /><h2><br />C and its immediate ancestors<br /></h2><br /><p><br /><br /><ul><br /><br /><li> <a href="bcpl.html">BCPL Reference Manual</a> by Martin Richards, dated July 1967.<br />The language described here supplied the basis for much of our own work and that<br />of others. The linked page discusses the circumstances, while<br />the files linked under it have the manual itself.<br /><br /><p><br /><li><a href="kbman.html">Users' Reference to B</a>, which describes<br />the B programming language; it is by Ken Thompson and describes<br />the PDP-11 version.<br /><p><br /><li><a href="bintro.html">CSTR #8</a> also describes<br />the B programming language; it is for the GCOS version<br />on Honeywell equipment. It is by Johnson and Kernighan.<br /><br /><p><br /><li>Resurrection of two<br /><A href="primevalC.html">primeval C compilers</A> from 1972-73,<br />including source. You won't be able to compile it with<br />today's compilers, but the link points to someone who succeeded in reviving<br />one of them.<br /><br /><p><br /><li>The version of the<br />C Reference Manual<br /><a href="cman.ps">Postscript</a> (250KB) or<br /><a href="cman.pdf">PDF</a>, (79K)<br />that came with 6th Edition Unix (May 1975), in the second volume entitled<br />``Documents for Use With the Unix Time-sharing System''.<br />For completeness,<br />there are also versions of Kernighan's<br />tutorial on C, in <A href="ctut.ps">Postscript</A> or<br /><A href="ctut.pdf">PDF</A> format.<br /><br /><p><br />No updated version of this manual was distributed with<br />most machine readable versions of the 7th Edition,<br />since the first edition of the `white book'<br /><a href="http://www.cs.bell-labs.com/cs/cbook/index.html">K&amp;R</a><br />was published about the same time. The tutorial was greatly<br />expanded into the bulk of the book,<br />and the manual became the book's Appendix A.<br /><p><br />However, it turns out that the paper copies of the 7th Edition<br />manual<br />that we printed locally include not only what<br />became Appendix A of K&R 1, but also a page entitled<br />"Recent Changes to C", and I retyped this. I haven't<br />been able to track down the contemporary machine-readable<br />version (it's possible that some tapes were produced that<br />included it). This is available in<br /><A href="cchanges.ps">PostScript</A> or <A href="cchanges.pdf">PDF</A><br />format.<br /><br /><p><br />The structure and even many bits of<br />wording of the manual survived into K&amp;R I and thence into the ANSI/ISO standard<br />for the language.<br /><br /><p><br /><li><br /><IMG SRC="new.gif" ALT="new"><br />A Bell Labs CS Tech. Report (#102) by Steve Johnson and me<br />discusses issues involved in designing a calling<br />sequence for C on various machines.<br />It is from 1981, and thus pre-ANSI,<br />but the issues haven't really changed. Available as<br /><A href="clcs.html">HTML</A>,<br /><A href="clcs.pdf">PDF</A>, or<br /><A href="clcs.ps">Postscript</A>.<br /><br /><p><br /><li>`The Development of the C Language', from HOPL II, 1993:<br /><br><a href="chist.html">browsable</a>,<br />or printable <a href="chist.ps">PostScript</a> or<br /><a href="chist.pdf">PDF</a><br /><br><br />Angelo de Oliveira kindly supplied a translation into<br />Portuguese of the paper; his own MS Word<br />version is <A href="chistPT.doc">here</A>, while<br /><A href="chistPT.html">this</A> is Word's rendition of<br />this into browsable HTML.<br /><br /><p><br /><li><br />An <A href="hopl.html">HTML browsable transcript</A><br />of the talk I gave at HOPL II, with its slides.<br />It's entitled "Five Little Languages and How They Grew"<br />and it is quite different from the Development paper referenced just above.<br /><br /><p><br /><li> `Variable-size Arrays in C,' a proposal of mine that appeared in<br />Journal of C Language Translation, but is not the approach adopted for the<br />1999 ISO C standard:<br /><br><a href="vararray.html">browsable</a>,<br />or printable <a href="vararray.ps">PostScript</a> or<br /><a href="vararray.pdf">PDF</a>.<br /><br /><p><br /><li> The<br /><A HREF="/cm/cs/cbook">The C Programming Language</A> book has a home page.<br />It has acquisition information and the current errata list,<br />and cover art from various translations.<br /><br /></ul><br /><br /><h2><br />Interesting other things: architecture, editors, adventures<br /></h2><br /><ul><br /><br /><li> <a href="spacetravel.html">Thompson's Space Travel Game</a>, a graphical<br />entertainment that led Ken to find the PDP-7 that would become important.<br /><br /><p><br /><li> <a href="crypt.html">Dabbling in Cryptography</a>, in which the author finds himself<br />involved in stronger political forces and higher mathematical creativity than is his wont.<br /><p><br /><br /><p><br /><li><A HREF="labscam.html">Labscam</A>: a story from 1989,<br />whose protagonists are a show-biz duo, Plan 9 geeks, and a Nobel laureate.<br /><br /><p><br /><li>Historical notes (and a manual) on<br /><a href="qed.html">QED</a>, the ancestor of the Unix<br /><b>ed</b> and <b>vi</b> editors.<br /><br /><p><br /><li><A HREF="vax.html">VAX over 20+ years</A>, our early<br />impression of Digital's architecture, with an assessment from Usenet<br />of 1988.<br /><br /><p><br /><li> Insider secrets: <a href="odd.html">Values of beeta will give rise to Dom!</a><br /><br /><p><br /><li> A <A href="medal.html">Letter from Washington</A>,<br />an account of the experience of receiving the National Medal of<br />Technology.<br /><br /><p><br /><li>A <A href="ken-games.html">brief article</A><br />I wrote for ICGA Journal, the publication of the International<br />Computer Games Association, recounting an appreciation of the<br />synergy between Ken Thompson's activities in chess, other games, and<br />systems. It includes a funny faked memo by Mike Lesk.<br /><br /><p><br /><li><IMG src="new.gif" alt="New"> <A href="bsdi/bsdisuit.html"><br />Some court papers</A><br />from the lawsuit brought by USL against BSDI,<br />then the University of California, in the early 1990s about Unix<br />intellectual property.<br />These may be relevant today in view of SCO's<br />recent actions.<br /><br /></ul><br /><br /><h2><br />Plan 9 and Inferno<br /></h2><br /><br /><ul><br /><br /><li>The new, open-source edition of the<br /><A HREF="http://plan9.bell-labs.com/plan9dist">Plan 9</A> system is available.<br />I contributed only a few bits and pieces to it, but did,<br />in effect, sign some paychecks to keep it going.<br /><p><br /><br /><li><br />The system-structuring ideas of Plan 9 were adopted also by<br />the Inferno system, now distributed by<br /><A HREF="http://www.vitanuova.com">Vita Nuova</A>.<br />Again, this was more a matter of signing paychecks than<br />doing the work, though I did write about it.<br /><br /></ul><br /><br /><h2><br />Links I've gathered<br /></h2><br /><p><br /><br /><ul><br /><br /><li> <A href="otherlives.html">Dennis Ritchie seems to have lives besides those recorded above</A>.<br /><br /><p><br /><br /><li>Not only I, but also <A href="otherunix.html">UNIX&reg;</A><br />has lives far away, and I don't mean Linux or *BSD. See some examples.<br /><br /><p><br /><li> <A href="complinks.html">Links to sites</A> with Unix, C, and other<br />(generally older) historical material.<br /><br /></ul><br /><br /><p><br /><h2>Biography</h2><br />A brief <a href="bigbio1st.html">biography</a>, in first person<br />instead of obituary style.<br /><br /><br /><h2>Bibliography</h2><br /><a href="/cm/cs/bib/dmr.bib"> bibtex format </a> or<br /><a href="/cm/cs/bib2html/dmr.html"> html format </a>.<br /><p><br /><br /><hr><br /><em><br />Fiddled: March 2002, to add the HOPL talk link,<br />July 2002 to add the C tutorial paper, October 2002<br />to add the ICGA paper,<br />January 2003 to add the Portability paper,<br />April 2003 to add the Kleine material, October 2003<br />for additional portability papers.<br /><br /></em></body><br /></HTML>