We All Use Dennis Ritchie's Programs
Category: Operating systems
Below is an image from one of my favorite keepsakes: A copy of the famous, original, and once-authoritative The C Programming Language, autographed by the book's authors, Brian Kernighan and Dennis Ritchie. The book also is sometimes known as simply "K&R".
Dennis Ritchie, who passed away last week, was one of the great figures of computer science. Ritchie was famous for being one of the creators of both the UNIX operating system and the C programming language. Not only are both still very much in current use, but both had profound influence on almost every other operating system and programming language that followed. Ritchie, along with Kernighan and a few other computing pioneers at Bell Labs in the '60s and '70s, created these building blocks of our industry in an environment that was, by today's standards, more academic than commercial. Remember, this was when there was still a Bell System monopoly on telephony in the U.S.
I'm not so much a UNIX guy but I made a living writing C code for many years. It's not a language for the casual programmer, or at least it shouldn't be. C was designed in an era when hardware was expensive and performance pitiful by today's standards. With simple constructs it lets you write very fast and lean programs. The flip side is that it lacks basic training wheels found in most modern languages, with the result that it's easy to make mistakes that are hard to debug.
C lets you get down close to the metal of the computer. Once, just to prove it could be done, I wrote a DOS device driver completely in C (Borland Turbo C to be specific). There were a couple of embedded assembly statements that the compiler handled, but it was basically all in C. With rare exceptions the major operating systems in use today are written in C or C variants. It's not a good idea to use C to write just anything, but there's nothing you can't write in it.
That K&R, the second edition, is still in print and doing well is something of a mystery. It was relatively obsolete even back when it first came out. The first (1978) edition also remained popular for a long time, although in its time it was a more authoritative reference for how to implement the language. I had a first edition, which I can't find now. I got the second edition only in order to get it autographed.
It's interesting to compare the reactions to Ritchie's death to those of Steve Jobs, who died just a week before. No question they're both giants of the computer industry, but Ritchie was a behind-the-scenes guy and pretty obviously an engineer from the looks of him. Jobs was an out-front man who liked to be in charge. Much of the remembrance of Jobs refers to the things that he "built" or "created," but he didn't really do that. Dennis Ritchie really did build things that we all use, often without knowing it.
I have to thank my friend Jerry Ryan here. Jerry arranged the autographed book while he was at Bell Labs working with K&R. It helps to have friends in high places and few places were as special as Bell Labs once was.
Follow Larry Seltzer and BYTE on Twitter, Facebook, LinkedIn, and Google+: