Home
Larry Seltzer

Larry Seltzer



We All Use Dennis Ritchie's Programs

Comments | Larry Seltzer, BYTE | October 14, 2011 06:35 PM

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+:



Related Reading




Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

BYTE encourages readers to engage in spirited, healthy debate, including taking us to task. However, BYTE moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing/SPAM. BYTE further reserves the right to disable the profile of any commenter participating in said activities.

COMMENTS

Tune In to BYTE
Facebook Twitter LinkedIn Newsletter RSS
Whitepapers
whitepaper
In this paper you will learn the five trends shaping the future of enterprise mobility. Learn how the rise of social media as a business application, the lurring between work and home, the emergence of new mobile devices, the demand for tech savvy employees and changing expectations of corporate IT will fundamentally change the workplace.
whitepaper
In a survey of more than 1,700 information workers (iWorkers) in North America, notebooks, desktops, and smartphones were found to be “must-have” devices, while tablets, slates, and netbooks were relegated to “nice-to-have” status, according to a commissioned study conducted by Forrester Consulting on behalf of Dell and Intel.
Sponsored by: Dell
Upcoming Events