Friday, June 25, 2010

"This should not happen!"

Just today a friend reported this message as output from a large software system.  Any code base of sufficient size will include a variation of this statement, often as debugging output. Why?  Because the programmer can clearly see that the possible path in question should not happen.  Because he or she can look at and see that you just can't get there from here.

But you can.  You very much can.

It makes me laugh and it makes me quite nostalgic, because with some minor rewording, this was the very first output message that my first program spat out at me.  There I was, running my first ever code (PLM, since you asked) and suddenly I'm trying to hide the whole thing and blushing as well, because, you see, in those days the output went to a printer, not a console, and it was loud.  The same message, over and over, saying, in effect, "programmer looses."

Of course, it's not just us programmers who say this sort of thing. All of us have asserted, at one time or another, that something could not possibly be, that an event's occurrence was -- inconceivable.

"That word.  I don't think it means what you think it means..."

It doesn't.  And it's not.  And you can, indeed, get there from here.

And what does this tell us?  Perhaps that we don't understand cause and effect anywhere near as well as we think we do, even (and perhaps especially) those of us with more than our share of smarts.


  1. thanks for quoting one of my favorite movies :-)

  2. It SHOULD be one of your favorite BOOKS.

    You can't tell by looking at me, because I'm wearing a worldwide computer network over my face, but I'm smiling. Why am I smiling? Because I can.

    If you haven't, read the book. Seriously. I'm saying.