><i>A novice programmer was once assigned to code a simple financial package.</i><p>><i>The novice worked furiously for many days, but when his master reviewed his program, he discovered that it contained a screen editor, a set of generalized graphics routines, an artificial intelligence interface, but not the slightest mention of anything financial.</i><p>><i>When the master asked about this, the novice became indignant. ``Don't be so impatient,'' he said, ``I'll put in the financial stuff eventually.''</i><p>I love this one because it took me many many years to "get" this lesson: it's not about the code. It's about the Program.<p>EDIT: Minor edits
Ah, old memories... I remember reading this years ago. And recently while naming my blog too as 'The Tao of Programming' by myself, I thought it sounded vaguely familiar (but oddly, didn't think of Googling for it).<p>But reading this now, I realize this is more like a set of Zen koans than like Tao Te Ching itself. A little 'poetry' here and there like Tao Te Ching, but most parts are obviously inspired from koans.
Once, a large computer company, seeking to plumb the depths of the Tao, decided to psychologically test a large group of its programmers, including its Masters. Unfortunately, they did not have enough copies of the test. Luckily the test came in two separate parts, so half the group got one part, and half the second. When the group was done taking one part, the tests were exchanged, and the psychologist administering the test, following his programmed script, gave the exact same instructions that he had already given, ending with "Are there any questions?" He was about to command "Then you may begin." when one of the Masters shouted out: "Should we use the same personality as we did on the first half?" The psychologist was silent, and completely baffled. One novice in the room, and some reading this story years later, became enlightened.<p>[Stolen, with slight alteration, from Gerald Weinberg's <i>The Psychology of Computer Programming</i>]
So many pieces of truth in here. Most of them I internalized long ago, but still there is the odd one which I encountered recently. This time it's "Software rots if not used". It is indeed a mystery, but oh so true.
2.4 is my favorite by far:<p><i>A novice asked the Master: ``Here is a programmer that never designs, documents or tests his programs. Yet all who know him consider him one of the best programmers in the world. Why is this?''<p>The Master replies: ``That programmer has mastered the Tao. He has gone beyond the need for design; he does not become angry when the system crashes, but accepts the universe without concern. He has gone beyond the need for documentation; he no longer cares if anyone else sees his code. He has gone beyond the need for testing; each of his programs are perfect within themselves, serene and elegant, their purpose self-evident. Truly, he has entered the mystery of Tao.''</i>