Design

Stumbleupon Review

Design
Book Three

Thus spake the master programmer:

“When program is being tested, it is too late to make design changes.”

    3.1

    There once was a man who went to a computer trade show. Each day as he
    entered, the man told the guard at the door:

    “I am a great thief, renowned for my feats of shoplifting. Be
    forewarned, for this trade show shall not escape unplundered.”

    This speech disturbed the guard greatly, because there were millions of
    dollars of computer equipment inside, so he watched the man carefully.
    But the man merely wandered from booth to booth, humming quietly to
    himself.

    When the man left, the guard took him aside and searched his clothes,
    but nothing was to be found.

    On the next day of the trade show, the man returned and chided the
    guard saying: “I escaped with a vast booty yesterday, but today will be
    even better.” So the guard watched him ever more closely, but to no
    avail.

    On the final day of the trade show, the guard could restrain his
    curiosity no longer. “Sir Thief,” he said, “I am so perplexed, I cannot
    live in peace. Please enlighten me. What is it that you are stealing?”

    The man smiled. “I am stealing ideas,” he said.

    3.2

    There once was a master programmer who wrote unstructured programs. A
    novice programmer, seeking to imitate him, also began to write
    unstructured programs. When the novice asked the master to evaluate
    his progress, the master criticized him for writing unstructured
    programs, saying: “What is appropriate for the master is not
    appropriate for the novice. You must understand the Tao before
    transcending structure.”

    3.3

    There was once a programmer who was attached to the court of the
    warlord of Wu. The warlord asked the programmer: “Which is easier to
    design: an accounting package or an operating system?”

    “An operating system,” replied the programmer.

    The warlord uttered an exclamation of disbelief. “Surely an accounting
    package is trivial next to the complexity of an operating system,” he said.

    “Not so,” said the programmer, “when designing an accounting package,
    the programmer operates as a mediator between people having different
    ideas: how it must operate, how its reports must appear, and how it
    must conform to the tax laws. By contrast, an operating system is not
    limited my outside appearances. When designing an operating system,
    the programmer seeks the simplest harmony between machine and ideas.
    This is why an operating system is easier to design.”

    The warlord of Wu nodded and smiled. “That is all good and well, but
    which is easier to debug?”

    The programmer made no reply.

    3.4

    A manager went to the master programmer and showed him the requirements
    document for a new application. The manager asked the master: “How
    long will it take to design this system if I assign five programmers
    to it?”

    “It will take one year,” said the master promptly.

    “But we need this system immediately or even sooner! How long will it
    take it I assign ten programmers to it?”

    The master programmer frowned. “In that case, it will take two years.”

    “And what if I assign a hundred programmers to it?”

    The master programmer shrugged. “Then the design will never be
    completed,” he said.

This entry was posted in Humour and tagged . Bookmark the permalink.

Leave a Reply