Wednesday, June 3, 2009

My all time favorite comment in the Unix kernel is:

/* You are not expected to understand this. */

I first saw this comment in 1987 when Neil Groundwater showed me
the button that he created with this on it.

As Neil Groundwater recently told me:

"Life with Unix" is by Don Libes and Sandy Ressler, ISBN 0135366577. Libes used to work at NBS/NIST. He told me that he saw the button on me in the elevator at the USENIX conference, in Washington, DC, Winter 1987. He admiredit and I gave it to him. I guess I made 50-100 of them.

"At the Phoenix, Summer 1987, conference Steve Jobs saw the badge on someone.
(I think Jobs gave the keynote address.) He said something like, "That means something, I know it," and the person later led Jobs (and his handlers) over to me and I gave him a badge.

I spoke at a U.K. USENIX they gave me a sweatshirt with the comment printed on it."

You can see the source code where this comment exists at this Bell Labs site.

Below is an email from Dennis Ritchie on this topic in April of 1992.

The full thread of this can be found at The Unix Heritage Society

From: Dennis Ritchie 
Date: 2 Apr 92 09:34:24 GMT
Organization: AT&T Bell Laboratories, Murray Hill NJ

People might be interested in more of the context
of the famous `you are not expected to understand this' comment.
(Tim Smith is wrong on the details.) It was made somewhat in
the spirit of `this won't be on the exam,' not as a contemptuous
challenge. Nevertheless, people did find it necessary
to understand it, and the comment was too flippant.

And of course, the real joke was that we did not understand
what what was really happening either: the setu/retu mechanism
of pre-Seventh Edition Unix was basically unworkable,
because it depended inextricably on subroutine calling
conventions of the PDP-11 implementation, and more fundamentally
because it was not the right way to do things. Specifically,
as the comment says, `savu' arranges that a routine
that subsequently calls `retu' jumps out not to
a location near the `savu' (as with setjmp/longjmp),
but to the routine that called the routine with the `savu.'

No comments:

Post a Comment