Dennis MacAlistair Ritchie (September 9, 1941 – c. October 12, 2011) was an American computer scientist. He created, together with long-time colleague Ken Thompson, the Unix operating system, C programming language, and B programming language.
Dennis Ritchie was born in Bronxville, New York. His father was Alistair E. Ritchie, a longtime Bell Labs scientist and co-author of The Design of Switching Circuits on switching circuit theory. As a child, Dennis moved with his family to Summit, New Jersey, where he graduated from Summit High School. He graduated from Harvard University with degrees in physics and applied mathematics in 1963.
In 1967, Ritchie began working at the Bell Labs Computing Science Research Center. In 1968, he completed a draft of his PhD thesis on "Computational Complexity and Program Structure" at Harvard under the supervision of Patrick C. Fischer. However, Ritchie never officially received his PhD degree. In 2020, the Computer History Museum worked with Ritchie's family and Fischer's family and found a copy of the lost dissertation.
During the 1960s, Ritchie and Ken Thompson worked on the Multics operating system at Bell Labs. Thompson then found an old PDP-7 machine and developed his own application programs and operating system from scratch, aided by Ritchie and others. In 1970, Brian Kernighan suggested the name "Unix", a pun on the name "Multics". To supplement assembly language with a system-level programming language, Thompson created B. Later, B was replaced by C, created by Ritchie, who continued to contribute to the development of Unix and C for many years.
During the 1970s, Ritchie collaborated with James Reeds and Robert Morris on a ciphertext-only attack on the M-209 US cipher machine that could solve messages of at least 2000–2500 letters. Ritchie relates that, after discussions with the National Security Agency, the authors decided not to publish it, as they were told that the principle applied to machines still in use by foreign governments.
Ritchie was also involved with the development of the operating systems Plan 9 and Inferno, and the programming language Limbo.
As part of an AT&T restructuring in the mid-1990s, Ritchie was transferred to Lucent Technologies, where he retired in 2007 as head of System Software Research Department.
Ritchie created the C programming language and was one of the developers of the Unix operating system. With Brian Kernighan, he co-wrote the book The C Programming Language, which is often referred to as K&R after their initials. Ritchie worked together with Ken Thompson, who is credited with writing the original version of Unix; one of Ritchie's contributions to Unix was its porting to different machines and platforms. They were so influential on Research Unix that Doug McIlroy later wrote, "The names of Ritchie and Thompson may safely be assumed to be attached to almost everything not otherwise attributed."
Nowadays, the C language is widely used in application, operating system, and embedded system development, and its influence is seen in most modern programming languages. C is a low-level language with constructs closely translating to the hardware's instruction set. However, it is not tied to any given hardware, making it easy to write programs on any machine that supports C. Moreover, C is a high-level programming language with constructs mapping to data structures in application software.
C influenced several other languages and derivatives, such as C++, Objective-C used by Apple, C# used by Microsoft, and Java used in corporate environments extensively and by Android. Ritchie and Thompson used C to write Unix, which has been influential in establishing many computing concepts and principles that are adopted widely.
In an interview from 1999, Ritchie clarified that he saw Linux and Berkeley Software Distribution (BSD) operating systems as a continuation of the basis of the Unix operating system, and as derivatives of Unix:
I think the Linux phenomenon is quite delightful, because it draws so strongly on the basis that Unix provided. Linux seems to be among the healthiest of the direct Unix derivatives, though there are also the various BSD systems as well as the more official offerings from the workstation and mainframe manufacturers.
In the same interview, he stated that he viewed Unix and Linux as "the continuation of ideas that were started by Ken and me and many others, many years ago."
In 1983, Ritchie and Thompson received the Turing Award "for their development of generic operating systems theory and specifically for the implementation of the UNIX operating system". Ritchie's Turing Award lecture was titled "Reflections on Software Research". In 1990, both Ritchie and Thompson received the IEEE Richard W. Hamming Medal from the Institute of Electrical and Electronics Engineers (IEEE), "for the origination of the UNIX operating system and the C programming language".
In 1997, both Ritchie and Thompson were made Fellows of the Computer History Museum, "for co-creation of the UNIX operating system, and for development of the C programming language."
On April 21, 1999, Thompson and Ritchie jointly received the National Medal of Technology of 1998 from President Bill Clinton for co-inventing the UNIX operating system and the C programming language which, according to the citation for the medal, "led to enormous advances in computer hardware, software, and networking systems and stimulated growth of an entire industry, thereby enhancing American leadership in the Information Age".
In 2005, the Industrial Research Institute awarded Ritchie its Achievement Award in recognition of his contribution to science and technology, and to society generally, with his development of the Unix operating system.
In 2011, Ritchie, along with Thompson, was awarded the Japan Prize for Information and Communications for his work in the development of the Unix operating system.