Dennis Ritchie

Creator of the C programming language and cocreator of the Unix operating system

  • Born: September 9, 1941
  • Place of Birth: Bronxville, New York
  • Died: October 12, 2011
  • Place of Death: Berkeley Heights, New Jersey

Primary Company/Organization: Bell Laboratories

Introduction

Dennis Ritchie was a codeveloper of the Unix operating system at Bell Laboratories and created the programming language C. Both remain widely used today, as do their descendants, including the object-oriented language C++ and Linux, the open-source version of Unix.

89876624-45180.jpg

Early Life

Dennis Ritchie was born in Bronxville, a suburb of New York City, and grew up in Summit, New Jersey. His father, Alistair Ritchie, was an engineer for Bell Laboratories and an expert in switching theory. His mother, Jean McGee Ritchie, was a homemaker. Ritchie received his bachelor's degree in physics from Harvard University in Cambridge, Massachusetts, in 1963; he would later remark that this experience as an undergraduate persuaded him that he was not smart enough to be a physicist. Ritchie began his PhD studies in mathematics at Harvard as well, although he did not complete the degree. A lecture on the UNIVAC I sparked his interest in computer science, and he worked on the computers at the Massachusetts Institute of Technology (MIT), also located in Cambridge. In addition to the programming experience, an important aspect of Ritchie's time at MIT was his exposure to the cooperative methods of solving programming problems favored by the university's students, which influenced his interest in distributed computing. Ritchie was recruited by Sandia National Laboratories while in graduate school but chose instead to join the computer science department at Bell Laboratories. He began working for Bell Labs in 1967, where he met Ken Thompson, who would become his frequent collaborator .

Life's Work

Ritchie spent his career at Bell Laboratories in New Jersey, first as a computer scientist and later as a manager. He initially worked on the Multics (multiplexed information and computing service) project, a collaboration of Bell Labs, MIT, and General Electric to develop an operating system that would allow multiple users to work simultaneously on a computer. Early mainframes could accommodate only batch processing, meaning that only one person could use the computer at a time. It was an ambitious project, intended to allow time sharing among three hundred users simultaneously. The project was ultimately abandoned by Bell Labs in 1969.

After the end of the Multics project, Ritchie, Thompson, and colleagues began working on a new project, which ultimately led to the development of the Unix operating system as well as the C programming language. Bell Labs was not originally in favor of devoting resources to developing another operating system so soon after the failure of Multics, but Ritchie and Thompson persisted, wanting to create a new type of operating system that would facilitate interaction and information sharing among programmers.

Ritchie and his colleagues began their work on the new operating system using an out-of-date minicomputer, the PDP-7, manufactured by the Digital Equipment Corporation (DEC). The computer only had eight kilobytes of memory, which forced the programmers to be efficient. They chose the name Unix for their new system to emphasize that they were creating a simpler version of the failed system Multics. Unix incorporated many capabilities that are now taken for granted in modern operating systems, including utility programs to perform tasks such as copying and editing files, moving files from one location to another, and printing files. Bell adopted Unix for internal use and began licensing it to outside users as well. Ritchie and Thompson published a paper on the operating system in 1974, attracting the interest of other institutions. Because Unix could run on different computer systems, unlike older, machine-specific operating systems, a community of Unix users grew and began to develop and share utilities. This teamwork echoed the cooperative programming culture Ritchie had experienced at MIT and was a forerunner of later open-source approaches to software championed by Richard Stallman and others.

In the process of developing Unix, Ritchie developed the C programming language. Unix was written in C, a fact that contributed to its portability. Although based on earlier languages (one of which was named B, explaining the origins of the name C), C was innovative because it combines features of both machine languages and high-level languages, thus providing the programmer with both the specificity and control of a machine language and the ease of use of a high-level language. Like Unix, C is portable, so that code can be shared among different computers. It was also more efficient than competing high-level languages at the time and allowed programs to be run more quickly, a key consideration when computer time was at a premium. The popularity of C later led to the development of the object-oriented languages C++ and Java.

The world of computing was changing rapidly in the early 1970s, and features of C and Unix were well adapted to these changes. Most importantly, computing was moving away from the centralized use of large mainframes and toward the use of multiple smaller computers to do the same work. Computer prices were also dropping, and the increased use of computers for all kinds of business applications meant that there was a growing call for people trained to use computers and to write code for them. University programs in computer science expanded, and C became a common language of instruction and use in higher education. Multiple factors influenced this development: the inherent properties of C (its logical nature, efficiency, and portability), its use in the popular Unix operating system, and the fact that it was not protected by copyright (because of federal antitrust regulations) after the parent owner of Bell Labs, AT&T, was broken up into many smaller corporations. The result was that C became one of the most popular computer languages of the 1970s and 1980s. In 1978, Ritchie and Canadian computer scientist Brian Kernighan published The C Programming Language, an important textbook that broadened the language's popularity and is still in use today. Many instructional manuals for other languages have adapted elements of Ritchie and Kernighan's approach, most famously the “Hello, world” assignment, in which the programmer writes code to make the phrase “Hello, world” appear on the computer screen.

Ritchie became head of the Computing Techniques Research Department at Bell Labs in 1990. In 1995, he and his colleagues released an experimental operating system, Plan 9 (named after the 1959 Ed Wood movie Plan 9 from Outer Space), which expands on the concepts of networking and decentralization. The Inferno operating system expands on the concepts behind Plan 9, was described in a 1997 article by Ritchie and colleagues, and remains available as free software from the British company Vita Nuova.

Ritchie retired from Bell Labs in 2007. He received many honors during his career, perhaps most notably a National Medal of Technology (shared with Thompson) in 1998. In 1974, he won an award from the Association for Computing Machinery (ACM) for a paper on systems and language. In 1982, the Computer Society of the Institute of Electrical and Electronics Engineers (IEEE) awarded him the Emmanuel Piore Award for his contributions to information-processing systems, and in 1983, he and Thompson were jointly awarded ACM's coveted Turing Award for their lasting technical innovations in the computer science field. Ritchie was made a Fellow of Bell Laboratories in the same year, and in 1988 he became a member of the US National Academy of Engineering. In 1989, he received the Lifetime Achievement Award for Technical Excellence from PC Magazine; in 1990, he won IEEE's Richard W. Hamming Medal for his contributions to information science and technology; and in 1994, the IEEE gave him its Computer Pioneer Award. He and Thompson were named to the Computer History Museum Hall of Fellows in 1997 for their development of Unix and C. In 2005, the Industrial Research Institute awarded Ritchie the IRI Achievement Award for his work on Unix. In 2019, Ritchie was inducted into the National Inventors Hall of Fame.

Personal Life

As an adult, Ritchie led a work-centered life, and despite having many outside interests (including reading and travel), he continued to work after retirement. Toward the end of his life, he fell into ill health, suffering from prostate cancer and heart disease. He was found dead in his home on October 12, 2011. He was survived by two brothers, Bill and John, and a sister, Lynn.

Colleagues remember Ritchie as a modest and unassuming person who never sought public recognition for his work, in contrast to such better-known figures as Steve Jobs or Bill Gates, who have become household names. Ritchie was noted for the clarity and precision of both his computer code and his writing.

He was also known as a practical joker. The most famous of his pranks, known as "Labscam," was accomplished with the help of his colleague Rob Pike and the magicians Penn and Teller (Penn Jillette and Raymond Joseph Teller). Ritchie made Arno Allan Penzias, the Nobel Prize–winning physicist and Ritchie's boss at the time, think he was taking part in an experiment to test a computer program that could understand natural speech (Penzias's) and select and combine fragments of video footage of Penn and Teller to form sensible answers to Penzias's questions, while in fact the real Penn and Teller were in the next room and were being videotaped giving the answers.

Bibliography

“Dennis Ritchie." National Inventors Hall of Fame, 2024, www.invent.org/inductees/dennis-ritchie.  Accessed 14 Oct. 2024.

Hyman, Paul. “Dennis Ritchie, 1941–2011.” Communications of the ACM Dec. 2011: 21. Print.

Lohr, Steve. “Dennis Ritchie, Trailblazer in Digital Era, Dies at 70.” New York Times, 13 Oct. 2011, www.nytimes.com/2011/10/14/technology/dennis-ritchie-programming-trailblazer-dies-at-70.html. Accessed 14 Oct. 2024.

Lohr, Steve. Go To: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Maverick Scientists and Iconoclasts—the Programmers Who Created the Software Revolution. New York: Basic, 2001. Print.

O'Regan, Gerard. A Brief History of Computing. 2nd ed. London: Springer, 2012. Print.

Slater, Robert. Portraits in Silicon. Cambridge: MIT P, 1987. Print.