To avoid system errors, if Chrome is your preferred browser, please update to the latest version of Chrome (81 or higher) or use an alternative browser.
Click here to login if you're an NAE Member
Recover Your Account Information
This is the 20th Volume in the series Memorial Tributes compiled by the National Academy of Engineering as a personal remembrance of the lives and outstanding achievements of its members and international members. These volumes are intended to stand as an enduring record of the many contributions of engineers and engineering to the benefit of humankind. In most cases, the authors of the tributes are contemporaries or colleagues who had personal knowledge of the interests and the engineering accomplishments of the deceased. Through its members and international members, the Academy carries...
This is the 20th Volume in the series Memorial Tributes compiled by the National Academy of Engineering as a personal remembrance of the lives and outstanding achievements of its members and international members. These volumes are intended to stand as an enduring record of the many contributions of engineers and engineering to the benefit of humankind. In most cases, the authors of the tributes are contemporaries or colleagues who had personal knowledge of the interests and the engineering accomplishments of the deceased. Through its members and international members, the Academy carries out the responsibilities for which it was established in 1964.
Under the charter of the National Academy of Sciences, the National Academy of Engineering was formed as a parallel organization of outstanding engineers. Members are elected on the basis of significant contributions to engineering theory and practice and to the literature of engineering or on the basis of demonstrated unusual accomplishments in the pioneering of new and developing fields of technology. The National Academies share a responsibility to advise the federal government on matters of science and technology. The expertise and credibility that the National Academy of Engineering brings to that task stem directly from the abilities, interests, and achievements of our members and international members, our colleagues and friends, whose special gifts we remember in this book.
BY BRIAN W. KERNIGHAN
DENNIS M. RITCHIE, creator of the C programming language and cocreator of the Unix operating system, died on October 12, 2011, at the age of 70.
Dennis was born in Bronxville, New York, on September 9, 1941. His father, Alistair E. Ritchie, worked for many years at Bell Laboratories in New York City and then Holmdel, New Jersey. The family moved to the nearby town of Summit when Dennis was quite young. He attended school there, then went to Harvard University for undergraduate and graduate degrees in physics and applied mathematics; his PhD thesis topic (1968) was subrecursive hierarchies of functions.
Explaining his career path, he once said, “My undergraduate experience convinced me that I was not smart enough to be a physicist, and that computers were quite neat. My graduate school experience convinced me that I was not smart enough to be an expert in the theory of algorithms and also that I liked procedural languages better than functional ones.”
Dennis joined Bell Labs in 1967 as a member of the technical staff in what soon became the Computing Science Research Center. For the first few years, he worked on the Multics project, a joint venture of the Massachusetts Institute of Technology, General Electric, and Bell Labs that planned to build a large time-sharing computer utility.
Multics proved too ambitious, and when it became clear that it would not live up to its goals in a timely fashion, Bell Labs withdrew from the project in 1969, leaving Dennis and his colleagues with experience in innovative operating system design, an appreciation of implementation in high-level languages, and a chance to start over with much more modest goals.
The result was the Unix operating system and the C programming language. Unix had its origins with Kenneth Lane Thompson’s early experiments in building an operating system on a small castoff computer; he was soon joined by Dennis, and the two of them created the first recognizable version in late 1969.
In addition to the operating system itself, Dennis wrote a significant amount of supporting software as well as documentation that made it possible for others to use the new system. The C programming language dates from very early in the 1970s. It was based on Dennis’s experience with high-level languages for Multics implementation, but much reduced in size because computers of the time had very limited capacity; there simply was not enough memory or processing power to support a complicated compiler for a complicated language.
This enforced minimality accorded well with Ritchie’s and Thompson’s preference for simple, uniform mechanisms. C was a good match as well for real computer hardware; it was clear how to translate it into good code that ran efficiently. C made it possible to undertake something that had never been done successfully before: writing an entire operating system in a high-level language. By 1973, Unix had been converted from its original assembly-language form into C. This made it much easier to maintain and modify the system.
It also enabled another giant step, moving the operating system from its original PDP-11 computer to other computers with different architectures. Because most of the system code was written in C, porting the system required not much more than porting the C compiler. Dennis was a superb technical writer, with a spare elegant style, deft turns of phrase, and often with flashes of dry wit that accurately reflected his personality. His book The C Programming Language, coauthored with Brian Kernighan, was first published in 1978 (Prentice Hall).
Universally known as “K&R” after its authors, it is still a standard reference and has been translated into more than two dozen languages. Dennis’s original C reference manual formed the basis of the ANSI/ISO standard for C that was first produced in 1988. Without doubt, some of the success of C and Unix can be attributed to Dennis’s skill in producing well-written explanatory documents.
With Thompson, Dennis received many honors and awards for his work on C and Unix, including the IEEE Emmanuel Piore Award (1982), the Association for Computing Machinery (ACM) A.M. Turing Award (1983), the ACM Software Systems Award (1983), the NEC C&C Foundation Prize (1989), the IEEE Richard W. Hamming Medal (1997), the National Medal of Technology (1999), and the Japan Prize for Information and Communications (2011).
After successfully avoiding any management role for many years, Dennis finally yielded and became head of the Software Systems Department at Bell Labs, where he was responsible for the group of researchers who were building the Plan 9 operating system, an attempt to reclaim the simplicity of the original Unix while unifying some of its disparate mechanisms. Dennis stepped down from management and retired officially in 2007 but continued to come to Bell Labs every day until his death.
Dennis was modest, kind, unassuming, and generous, always giving credit to others while downplaying his own contributions. A typical example is found in the acknowledgment section of his 1996 retrospective on the evolution of Unix: “The reader will not, on the average, go far wrong if he reads each occurrence of ‘we’ with unclear antecedent as ‘Thompson, with some assistance from me.’” Dennis was a giant of computing.
Most of the world’s computers run Unix or Unix-like systems, and much of the world’s software is written in C or in languages derived from it. He is greatly missed. Dennis is survived by sister Lynn, brothers John and Bill, and their families.