Goodbye World

Another sad day for the computing world – a few days back Dennis Ritchie died. Yes I know I am a bit slow off the mark. This wasn’t a mega-news story like the death of Steve Jobs, but you can find a few news articles  at the BBC, the Guardian, the Telegraph, and Tech Crunch. Of course the public at large knew almost nothing about Ritchie, but he was more important to the creation of the modern world than Jobs. He invented the C programming language and co-created Unix with Ken Thompson. These things underly the Internet, the Mac, the iPhone and Android. There is a straight line from C to Java to C# so even Microsoft is not a Unix-free zone.

I have in front of me my copy of “The C programming language” by Kernighan and Ritchie. One of the many remarkable things is that it is an inch thinner than all my other computing books. It is a paradigm of clarity.

Apparently the news was first broken by Google’s Rob Pike. Here is his very nice follow-on posting on Google Plus.

Rob Pike’s posting and the Tech Crunch article have lots of comments from distressed geeks. Somebody said inventing Unix is like inventing air. I think even folks who hanker after VMS would agree that in practice we all breathe Unix. Ny favourite comment from the Tech Crunch stream was from Mike Church in Malvern, who said :

#include <stdio.h>

int main(int argc, char** argv).
{

fprintf(stdout, “Goodbye World!\n”);.

exit(0);.
}

About these ads

7 Responses to Goodbye World

  1. “I think even folks who hanker after VMS would agree that in practice we all breathe Unix.” I beg to differ with you, Guv’nor!

  2. I get error 492 when trying to post a comment.

  3. /*
    * Switch to stack of the new process and set up
    * his segmentation registers.
    */
    retu(rp->p_addr);
    sureg();
    /*
    * If the new process paused because it was
    * swapped out, set the stack level to the last call
    * to savu(u_ssav). This means that the return
    * which is executed immediately after the call to aretu
    * actually returns from the last routine which did
    * the savu.
    *
    * You are not expected to understand this.
    */
    if(rp->p_flag&SSWAP) {
    rp->p_flag =& ~SSWAP;
    aretu(u.u_ssav);
    }
    /*
    * The value returned here has many subtle implications.
    * See the newproc comments.
    */
    return(1);

  4. Yes, the famous “You are not expected to understand this” comment is real. How much of the following are real, you decide:

    http://www.infiltec.com/j-h-wrld.htm

  5. The following, when posted as intended, gives the error 492:

    h t t p : / / w w w . e l s o p . c o m / w r c / h u m o r / u n i x h o a x . h t m

  6. andyxl says:

    Well, I’m an Algol 60 man really.

    • Michael Merrifield says:

      First program I ever wrote was the Sieve of Eratosthanes in Algol 60: I might even still have the paper tape somewhere!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 117 other followers

%d bloggers like this: