Behind his understated elegance and modesty hummed a motor of remarkable technical creativity.
Earlier this week, Dennis Ritchie (dmr) passed away. The inventor of the C language and key contributor to several operating systems died after a long illness. Even though he'd been sick a while, his death came as a surprise. Just a few months ago, I called his house hoping to set up an interview. I knew he'd been ill, but his administrator kindly suggested that he was feeling better and that with a little persistence, I should be able to work past his shyness and get him on the phone. There was no hint then that he was so gravely ill.
That shyness, or more correctly, Ritchie's desire to avert attention despite his contributions to computing, are among the first things most people who knew him point out. Perhaps for that reason, he was often the first to poke fun at his creations even while recognizing their special place in computing: "C is quirky, flawed, and an enormous success." And, of UNIX, "It is very simple, it just needs a genius to understand its simplicity."
Behind the modesty, however, hummed a motor of remarkable technical creativity. C's clean syntax has been the default syntax for most languages since it emerged in the '70s(!). Eight of the top 10 programming languages today (per Tiobe) draw directly from C for their syntax, including the #2 language, which is C itself. No language ever has enjoyed continuous popularity at so high a level for so long. This is due no doubt to Ritchie's intuitive way of expressing all that a system language need do. In the design, he was greatly aided by his longtime collaborator, Ken Thompson.
During my recent interview with Thompson, he discussed how Ritchie's work evolved as Thompson used it to rewrite UNIX: "The language grew up with one of the rewritings of the system and, as such, it became perfect for writing systems. We would change it daily as we ran into trouble building UNIX ... and we'd modify it for our needs. It became the perfect language for what it was designed to do."
What is not widely appreciated is how much of the C syntax was invented from whole cloth by Ritchie and Thompson. C is generally seen as a derivative work from BCPL, but in fact, a quick look at the documentation of BCPL shows a very different language, missing many of today's common syntactical constructs and all of Ritchie and Thompson's minimalist elegance.
That elegance was then transported by Ritchie to the K&R book, which remains the defining language tutorial against which all others are measured--and from which all others have been given their canonical first example, "hello, world."
In UNIX, Ritchie was in charge of writing the I/O portions and some of the utilities. He reprised his systems work in the ill-fated but innovative Plan9 OS in the 1980s and '90s.