back to article Dennis Ritchie: The C man who booted Unix

It was 1968 and students and workers were on the march, protesting against the Vietnam War, with the western world seemingly teetering on the brink of revolution. In the sleepy, leafy suburb of New Jersey's Murray Hill, a young maths and physics graduate was laying the groundwork for an entirely different revolution. For …

COMMENTS

This topic is closed for new posts.
    1. nyelvmark
      Boffin

      Chris Gray 1

      Surely that needs to be --dmr; to avoid temporal paradoxes?

      1. Anonymous Coward
        Anonymous Coward

        No, dmr-- is correct.

        We remember him as he was, not as he is now.

      2. byrresheim
        Headmaster

        Sorry to pick nits but:

        pardoxa

        1. Trixr
          WTF?

          Are you trying to say the plural of paradox in English is "paradoxa"?

          It isn't.

  1. Mark McGuire

    Unix V6

    Right now I'm taking a course focused on Unix V6 for the PDP11. When you look at the source of it you can feel the innovation radiating off it. Tracing the start up procedure is a one of a kind experience.

    Sad to see him go.

    1. jphb

      Oh happy memories. My first escape from mainframes, Cobol and Fortran

      (and ICL's George 3) was Unix V6, PDP/11's and C, happy hours reading the source

      code and eventually fixing two bugs in the kernel source. Gosh I could

      read the source code of an operating system - and understand it!

      ++dmr

  2. Anonymous Coward
    Anonymous Coward

    I was introduced to him through a family friend, he was a quiet, deeply insightful as well as a very religious man. A great mind and man has been lost.

  3. Wile E. Veteran
    Unhappy

    The passing of a true genius

    As a genuine old-timer, I remember when C was first released, and the first thing I did was run out and by the K&R C books, and later the K&T "Programming in Unix" book. I used K&R C for programming various projects and learned a lot from it. Far more elegant than Assembler, although some wags Referred to C as "Portable PDP-11 Assembly Language." No matter, it was powerful, elegant and highly portable. C on an 8080 anyone? I used it.

    The "cryptic" commands in Unix were strongly influenced by the fact the Teletype Model 33 was far and away the most common terminal connected to Unix systems. For those relative newbie, the 33 was an effective but a genuine PITA to type on. Also very slow,limited by its mechanical operational mechanism to 300 baud, max. Anything that could be done to lessen the amount of typing was a Really Good Thing hence the highly shortened commands made using Unix a whole lot more pleasant.

    dmr truly impacted the world of computing and impacted that world far more than the greedy, megalomaniac control freak that started that company named after a fruit.

    Requiescat In Pacem dmr and condolences to the family and the millions of users of your inventions. May your legacy and humility be remembered forever.

    1. fighne

      Teletype 33

      They used to make my fingers ache after about an hour typing on them!

  4. Number6

    And the Third...?

    Given that these things always seem to come in threes, who's next? Anyone who's contributed in a big way to computing had better be really careful crossing the road and avoid aircraft.

    1. Tom Maddox Silver badge
      Joke

      Stallman. Killed in the study by an irate fanboi with a hurled iPad.

    2. Anonymous Coward
      Coat

      Can someone please go round to Donald Knuth's house and check he's ok?

      This has been a bad week for geeks.

  5. Mage Silver badge

    Not a true High Level Language

    Really it did exactly what it was designed to be.

    A Machine Independent Macro Assembler.

    Hence the HUGE dependence on Makefiles and #define

    C was a great Achievement in the climate of early 1970s

    What did he do for the next 40 years though?

    <<If one was to compare the recent losses in technology to certain fictional figures then I would not consider it to be unfair to say that.

    Dennis Ritchie == Jesus>>

    Actually you can argue if Jesus was a Deluded Man, or God, or his followers made up stuff. But no shortage of historical evidence that he was a real person.

    1. Jim Morrow
      Unhappy

      what did dennis ritchie do

      > What did he do for the next 40 years though?

      mage, you are showing your ignorance. after inventing unix and c, dennis ritchie co-wrote one of the major computing textbooks. he developed unix v8 which sadly wasn't allowed to leave bell labs because it was a threat to at&t's commercial but shit unix offering. he invented streams. which at&t turned into a train wreck for system v. he spent years getting the c language standardised. i think he was involved in the posix standards work too. he then went on to develop plan9 and inferno. if that wasn't enough, dennis ritchie lead the computer science research team at bell labs, one of the world's most prestigious research institutions.

      btw, that michaelangelo bloke did fuck all after painting the sistine chapel. what more did he need to contribute?

  6. Anonymous Coward
    Anonymous Coward

    Scratch "New York"

    Murray Hill is in New Jersey.

    My high school was a few towns away and I had a teacher who worked in Bell labs during the summer.

    She got us a tour (1971 - 72) of the labs and I had a chance to talk with a gentleman who showed us his little system he was working on (if IRC he said it supported 4 users). I still remember the PDP computer and Teletype 33 at the end of the table. Wish I had taken a few sheets out output!

    1. Chris Miller

      Murray Hill is in New Jersey, but it's a suburb of the City of New York. No-one commutes from there into Trenton.

  7. Ilgaz

    Some will say Plan 9 failed etc.

    The issue with Plan 9 is, it is way ahead of even today's common/general technology. You don't have anything (yet) to use the amazing features and the design of it. It is more like trying to use UNIX on Altair home computer.

    Once the technology allows the vision of these guys, we will hear something like "Apple considering to move from Mach/UNIX to Plan 9 at OS level" and nobody will be that surprised, some will even say "about time".

    I speak about stuff like seamless roaming between devices (including car computer) etc. and seamless distributed computing.

    For example, IBM happily uses Plan 9 on their Blue Gene monster.

  8. DV Henkel-Wallace
    FAIL

    Dont' go overboard; hardly the first general purpose language

    He was a titan, but don't go overboard: "General-purpose programming languages had not existed before C" is rubbish: Algol, and Fortran preceded it by more than a decade, and Multics (which dmr worked on) was written in PL/1 as were its applications.

    C was / is a good implementation of the idea, based on learning from those experiences, as dmr himself would say.

    In other words: there's no need to denigrate the giants upon whose shoulders he stood.

    1. Anonymous Coward
      Anonymous Coward

      So did BASIC

      ... by a good 4-5 years

    2. This is my handle
      Thumb Up

      Yes, but ....

      It's true enough that FORTRAN, COBOL, BASIC, and others pre-dated C, but C was different precisely because of the other exception (NO PUN:) taken to this very nice article: C is not quite a high-level language (HLL), but sort of straddles the ASM / HLL border. That's the good news -- and the bad. In the right hands it is a thing of beauty (which could be set of Unix as well). As a guy who taught the C class I once took (not at Uni; courtesy of an employer) : "It compiles itself." What he meant of course, is it's the sort of language you could easily write a compiler in. I wouldn't want to try that in any of the HLLs which preceded it, or those which came later. In fact, with a little help from the lex & yacc descendants, you almost wouldn't want to write a compiler in anything else.

    3. Michael Wojcik Silver badge

      Only one of a number of glaring errors in the article

      Yes, Clarke's "General-purpose programming languages had not existed" is a particular howler. Assembler, after all, is a "general-purpose" language (it's not a domain-specific one) when running on general-purpose hardware. Among higher-level languages that were going strong when C was invented and are still in widespread use you have FORTRAN, COBOL, LISP, BASIC, and PL/I (in historical order); plus others that have fallen into disuse since, such as ALGOL and C's own ancestors BCPL and B. And contrary to another commentator, C's supposed "high-level assembler" nature doesn't excuse this wildly erroneous claim.

      But that's far from the only false step in this piece.

      It's not true that the major general-purpose languages were meant to "lock virgin customers [or any other kind] in"; in fact, C exposed more implementation details to the application, and so C programs often required more porting effort. C did not "go visual" in any meaningful sense with Microsoft's Visual Studio, anymore than it "went turbo" with Borland's Turbo C. Others have already noted how ridiculous the "at least six flavors of Unix" bit is.

      I don't even want to start on "It is a high-level procedural language that used a compiler to access a machine's low-level memory and to execute, so it can span different platforms". There's enough wrong there for half a dozen posts. Nor does C contain some magic inherent power to make programs fast, as Clarke claims; and I have no idea what he means by "programming with C is also accessible".

      I've written software in C (and for Unix) since the mid-80s, and I like them. Certainly dmr made some terrific contributions to the industry - even if you agree with the criticism a number of people have levied against the use of in-band signaling in C (nul-terminated strings, printf formats, etc). I've been in Usenet conversations with him, and he always came across as knowledgeable, intelligent, reasonable, and friendly. It's a shame he's gone, and I wish the Reg could have done a better job with his obituary.

  9. Petrea Mitchell
    Boffin

    And yet, a less-revered part of the legacy...

    Allow me to be the first pedant to point out the sub-headline should be using strncat, to guard against buffer overflows.

    1. Chris Gray 1
      Unhappy

      strncat

      Raise your hands if you are aware that the length value "n" given to "strncat" says how many characters to take from the source string, and says nothing about the size of the destination buffer. So, it does not directly protect against buffer overflows. At least that's the way it is described on Gnu/Linux, and that surprised me.

      1. Paul M 1

        ... unless you use sizeof(destination) or equivalent for your value of n.

        1. Anonymous Coward
          Anonymous Coward

          sizeof(destination) isn't enough

          It would need to be sizeof(destination) - strlen (destination) if the buffer isn't empty to start with.

    2. Anonymous Coward
      Anonymous Coward

      Without the definition of obit, that's hard to say for sure.

      char *ritchie (const char *text)

      {

      char *obit = malloc (strlen (text) + sizeof("Quiet revolutionary"));

      strcpy (obit, text);

      [ subhead is entirely correct and valid here ]

      return obit;

      }

    3. diodesign Silver badge
      Devil

      Of course, I should have used strncat()

      But strncat(obit->text.data, "Quiet revolutionary", obit->text.max_length); is starting to get a

      bit unwieldy for a headline :-)

  10. mccp
    Unhappy

    Visual C

    I don't get the Visual C reference. When I switched from RiscOS to Windows 3.1 back in the day, I had to leave Acorn's nicely designed visual tools behind and use the pathetic MS C Version 7. It was at least a couple of years before VC1.0 arrived, with tools that were less advanced than Acorn's.

    And don't talk to me about IDEs on Unices, I tried writing for Motif on DEC's Ultrix at the same time and I believe that's when I started to lose my hair.

    (Still writing portable C code that runs on any version of Windows as well as a bare metal embedded system (~400 SLOC today :)).

    1. Eddie Edwards
      Thumb Down

      What tools?

      I think you're seeing the past through rose-tinted glasses here. The only visual tool of note from Acorn was !FormEd, which came after VC++1.0, and when I left the scene in 1996, six years later than you must have done, there was still nothing approaching a decent IDE for C development.

      The C compiler sucked balls too.

  11. Will Godfrey Silver badge
    Unhappy

    ... he was also a very nice person who cared about helping others , having great patience with newbies.

    There aren't may people like that, and now there is one less.

  12. Tanuki
    Unhappy

    I never met you but you touched my soul....

    There's one less record in /etc/passwd tonight.

    [And Steve Jobs no longer has a giant's shoulders to stand on]

  13. Anonymous Coward
    Anonymous Coward

    Standing on the shoulders of giants

    We all are, gratefully. In the short life of computing, Dennis Ritchie was one of the very few who would qualify.

    RIP and thank you.

  14. Andus McCoatover
    Windows

    Quote of the year?

    "( C is a poster child) for why it's essential to keep those people who know a thing can't be done from bothering the people who are doing it."

  15. Tanuki
    Unhappy

    Seminal.

    http://www.canismajor.demon.co.uk/spool/livejournal/bstj2.jpg

    1. Peter Simpson 1
      Coat

      I have the reprint of that

      Learned C and UNIX when I was at Data General. I was impressed by the apparent simplicity of the design (which is quite often a sign of carefully crafting) and its obvious power. I was lucky enough to have a co-worker who had been at MIT and returned waxing eloquently about how UNIX was the future.

      All I needed to learn C was the K&R book. Later, I took a course in which I received the BSTJ reprint. Then I got a Sun workstation , discovered USENET and shortly thereafter, Linux. It was all "downhill" from there.

      RIP, dmr.

      //there seem to be an awful lot of coats here with a copy of K&R in the pocket...

  16. Anonymous Coward
    Anonymous Coward

    "a humble and gracious man"

    yep, that's the one

    makes his intellect and achievements all the more admirable

    thanks for giving me the tools I didn't know I needed

    RIP dmr

  17. Mikel
    Unhappy

    C is a beautiful thing

    Brilliant man. We could use more like him.

  18. John D Salt

    RIP a great man

    I studied at the University of Newcastle upon Tyne with Dennis' sister, Lynne. The family connection meant that we got Dennis to come and give us a talk on mechanisms of inter-process communication in Plan 9. So the department booked a medium isized room, and it was too small, there were too few chairs, and people were leaning in from the corridors in order to hear Dennis put forward his ideas, which he did brilliantly -- full of humour, and clear enough for anyone to understand, the mark of a man who had totally mastered his subject.

    I treasure a brief e-mail exchange I had with him, when I asked if the word "grep" owed anything to the Manx Gaelic word for a fish-hook, which it seemed to me would be appropriate. Sadly, it turns out not. But the great man was not too grand to answer a random question from an unknown postgrad.

  19. KrisMac
    Unhappy

    "...to all who have been touched in some way by Dennis..."

    ..this pretty much includes the vast bulk of the present generation of living human beings, (certainly in the developed world)...

    The spread of computers into business and their development into effectively personal household appliances may have happend without the release of C andUnix, but I believe that it would almost certainly have been a much slower and much more painful progression. The explosion of development that we saw in the late eighties and ealy nineties might still be waiting in the wings to happen....

    Rest well Dennis Ritchie... we all owe you a great deal

  20. Majid

    Rip my friend..

    exit(INT_MAX);

    1. Anonymous Coward
      Anonymous Coward

      No no no!

      Only exit code zero indicates success, any other value would mean he'd failed!

  21. Dave Barnhart

    Remembering

    I still have the original "The C Programming Language: by Kernighan and Richie on my shelf. And you'll have to be a total geek to remember and appreciate "Why Pascal Is Not My Favorite Programming Language" written by Brian Kernighan.

    1. RightPaddock

      Here 'tis - now you can be a total geek too

      http://doc.cat-v.org/bell_labs/why_pascal/why_pascal_is_not_my_favorite_language.pdf

  22. Richard Porter

    K&R

    I'm somewhat surprised that the obit made no mention of Brian W. Kernighan, Ritchie's co-author of "The C Programming Language" in 1978, which was the bible for C programmers in those days.

    Now correct me if I'm wrong - I'm sure you will - but as far as I recall Solaris was Sun's version of BSD. SVR4 was an attempt to bring to gether the two main threads of Unix: BSD and Systen V. I don't think it really took off because Sun and HP carried on as before with Solaris and HP-UX.

    Now just in case you think cloud computing is something new, back around 1990 I was using Sun workstations. The software was installed on each workstation but all the data were held on fileservers so you could log onto any workstation on the intranet and access your own environment. And of course we had email, ftp and usenet. Mosaic arrived later.

    1. Chavdar Ivanov

      Sun's version of BSD was called SunOS, lived to about version 4.1.4 and was replaced by a BSD/SVR4 graft, which became known as Solaris. I remember hating this - for me at the time "Solaris" meant only a brilliant novel by a well known polish SF writer.

  23. Martin Usher
    Pirate

    Hardly a whisper outside the trade

    The news was -- and is -- still about Steve Jobs but I would venture to suggest that without the work of Richie and his ilk people like Mr. Jobs would be peddling used mainframes or cars or something.

    I'm going to be an anti-pedant, BTW. I don't see much point in using strncat when you're copying or concatenating a string that's a constant. User input, that's a whole different game....

  24. Asgard
    Unhappy

    Thank you Dennis Ritchie

    I'm very sorry and saddened to hear this news. If it wasn't for Dennis Ritchie, I wouldn't be a C/C++ programmer, like so many other programmers. I think its fair to say, that almost all programmers owe him a huge debt of gratitude. He greatly helped changed the way most of us work because his work influenced so many languages that followed his work.

    Its also amazing to think of how much work and research has been done and derived from his pioneering work. Its mind blowing to think just about everyone on the planet has at some point been indirectly influenced by his work because so much technology has been influenced by his work.

    This is very sad news. :(

    while(1)

    {

    printf("Thank you Dennis Ritchie and RIP... :(\n");

    }

  25. Anonymous Coward
    Stop

    A Mixed Legacy

    I know that every second programer and their dogs and cats use C. But it is also true that every second security-related bug can be attributed to various regressions built into C, namely buffer overruns, bad pointers, most primitive heap memory management and strings without length information attached.

    Compared to Assembler, C is progress, but compared to ALGOL68 I would call it a regression. One of these quick hacks which dominate the world because a major American corporation was behind it.

    Those who have spent serious time with a Pascal or Ada compiler know what I mean - many errors can be caught by a proper type system and runtime checks which only cost a few percent of runtime overhead.

    Unix, on the other hand, is a great invention and if anybody can create a useful version in Ada, I will definitely use it. The Unix command shell is orders of magnitude more powerful than the GUI-clickety-click way of controlling a system. To the expert, Unix commands are by no means cryptic, but elegant, concise and powerful.

    RIP Dennis Ritchie.

  26. Anonymous Coward
    Anonymous Coward

    Sad news.

    PS Isn't Bell Labs at the Murray Hill in New Jersey? It's not the same as the one in New York.

    1. RightPaddock

      Correct !

      The one in NY is on Manhattan Island, between 42nd & 30th, runs down from 5th Ave to the East River - if you know the Empire State Bldg is then you're over the street from Murray Hill. AFAIK Bell were never in the NYC Murray Hill.

      However, Bell Labs were in West St in Greenwich Village - the building is now the the Westbeth Arts centre. Don't think the software group was ever at that site - some exchange kit was there.

      I did some research into Bell when it morphed into Lucent and then got hoovered up by Alcatel.

      The loss of Bell Labs was a disaster for mankind - it presaged the coming of the anti-science crowd that's now infecting the planet. How could a country let something like Bell disappear in a puff of smoke - criminal. I think it was Carter who dealt the coup de grace to AT&T, Nixon was a mere toreador.

      I know there were good commercial reasons to break up AT&T, but Bell Labs should have been given a status like Livermore or Argonne :cry:

      Bye Dennis.

This topic is closed for new posts.

Other stories you might like