Categories

In memoriam: Dennis Ritchie

Dennis Ritchie created C and co-created Unix. One of the unsung heroes of the modern world. He died yesterday.

His “The C Programming Language” was my bible during a formative period of my life.

In his memory I re-link a post I wrote a little over a year ago.

Unix’s Revenge | asymco

 

  • Dsq 10 Vhs

    Here goes one more great mind. Sad… :(

  • http://www.facebook.com/profile.php?id=542074537 Marco Papa

    Same hère. The C Programming Language was my bible, too, back in 1981-1984. With Jobs, another one of my heroes goes.

  • Bigbadrobbo

    Wow! I too remember that programming book.

  • Mahesh Bala

    I have created a “tribute” page to my “superhero of computing”, DMR. Please visit it and like it at: http://facebook.com/dennismritchie.

  • Martin Reed

    Thanks for reporting this. Sad times indeed.

  • Anonymous

    K&R defined not only the C-language, but all future computer language books. Richie’s contribution to technology cannot be measured.

  • http://twitter.com/qka qka

    Philipe Kahn once referred to C as “the American disease”. While it is widely used, I believe it is responsible for many of the bugs in software, particularly in the late 80s and 90s. It forces the programmer to think more about syntax and less about semantics and the solving of the problem at hand.

    I will remember Mr. Ritchie more fondly for his work on Unix.

    • Anonymous

      Compared to what? When C was developed, it was a great alternative to assembly language for systems level programming. It was designed for that. It was designed for the efficiency one needed to create code to run in 64K of data and code in a machine with 512K to 1 Megabyte of RAM. It was designed so that Unix need not be written all in assembler. By understanding how the compiler worked, and careful use of register variables and pointer increment operators, you could approximate the efficiency of assembly language programming in critical interrupt handlers and system context switch coding. You could control what was on the stack, and what was statically allocated memory. It didn’t have extraneous file processing or business related data types so it could be compiled efficiently and needed no run-time interpretation. And the syntax was orders of magnitude easier to understand than assembly language.

      All in all the language did what it was designed for, and a lot of other people misused it. I used it happily for 10 years to do Unix internals programming.

      The mistake was when C was spread from being a system programming language to being an application programming language. Some of the most horrible code I’ve ever seen was produced in C by DOS application programmers. Philipe Kahn and Borland were probably more responsible than anyone else for this development.

      In memorium I will thank Mr. Ritchie for the language and the OS. I can’t forget the pleasure of first understanding the if condition with double save() calls in a boolean expression that was the core of the old Unix scheduler, and was graced by the comment: “You’re not expected to understand this.” I’m not really sure if that was written by Ritchie or Thompson, but it was way cool when I first got it about 30 years ago. Somewhere I still have the ragged copy of “The C Programming Language”, with it’s yellowed white cover and the faded big blue “C”, that was also my oft consulted bible for several years until the language had fully permeated my blood.

      Seasoned Unix hackers will know what I’m talking about.

      • chandra2

        Right. As K&R say quite succinctly in the introduction “C is a relatively ‘low-level language’. This characterization is not pejorative. It simply means that C deals with the same sort of objects that most computers do, namely characters, numbers and addresses”

        As you say, it was meant for that type of stuff. And when used it for purposes that are application level stuff, that is the wrong choice of tool.

        BTW, that introduction is one of the best introduction one can write about a programming lanugage. It is precise and concise. Not a wasted word, not a superfluous word. It is a lot of run to read it again once in a few years just to relish the sheer brilliance of tech writing for hard core techies.

        One endearing line in the Tutorial introduction for me is this. After describing the famous hello world program and how to compile it and run it, they say “On other systems the rules will be different. Check with a local expert” Ha.. Not check the system user manual which is what the IBM of that day would have told you. But check with another fellow person, the expert. Nice! The modern day equivalent would be ‘Check with Stack overflow’ ;)

        I am sure all of us remember how the strcpy function is step-wise reduced one line!!

        That whole bunch who worked at Bell Labs at that time: Dennis Ritchie, Brian Kernighan, Jon Bentley ( of programming pearls fame ), Rob Pike, Ken Thomson etc. is a rare bunch to worked in and around the same set of topics laying the foundation for the later generations. I do not think Bells Labs made a penny out of any of that but what a great treasure they left for all of us.

        I do not know if any technical books have been translated into numerous languages, but take a look at this to see the impressive gallery of cover pages the C book in many languages.

      • chandra2

        Here is that gallery link: http://cm.bell-labs.com/cm/cs/cbook/

    • Anonymous

      There was no language that had the same combination of power, elegance and performance.

    • Anonymous

      That’s academic.

      The real world is much more interesting.

  • davel

    I saw that he died today when reading engadget i think.

    very sad.

    I met both him and thompson at the ny unix users group years ago on separate occasions. i do not remember the topic they were to address, but both ended up discussing plan 9. it was ahead of its time. essentially a distributed os dependent on a robust high speed network.

    i owe my career to those two. unix and c still have not changed much since they invented it.

    very flexible and extensible systems.

  • Anonymous

    GIANT contribution.

  • http://twitter.com/falameufilho B.Carvalho

    Please please please please write more about subjects that are not (at least not exclusively) related to Apple. There’s great Apple insight around here, but if anything this old post shows that there’s a lot of other stuff to talk about in our industry.