Bit of a Joke ============= "When people have a job to do, they invariably put it off till the last possible moment, and most people put it off even longer." So states Dilwether's law of delay, a truth reflected in the writing of this article. Humorous articles are one thing, writing about humour is another, and trying to identify just what it is about the sense of humour peculiar to the computer industry is something else altogether. Yet from the pragmatic "If it works, don't fix it", to the wry "It works better if you plug it in" to the resigned "There's always one more bug," there is a distinctive humour among those whose working lives have become irreversibly entangled with that most stupid of beasts, the computer. But defining that distinction is not quite as simple a recognising it. A programmer setting off for his annual holiday sees a friend struggling to carry two enormous suitcases. "Hi, Bob, I see you haven't come back empty-handed! How was the States?" "Great you should see some of the things happening in Silicon Valley. Take this for example," he says sliding his sleeve back to reveal a watch. He presses a button and a qwerty keyboard slides out of the bottom of the watch while a flatscreen display slides out of the top. "Two Megs of RAM, 80386 processor, CD-ROM, the works." "That's incredible!" gasps the programmer. Not only that," beams Bob, "but press this button here and you get Teletext TV, that button there for the cellular phone and this one here for the laserdisk stereo system." Sure enough, all these items slide into view as he presses the buttons. "Unbelievable!" says the programmer, mouth wide. "How much does that cost?" "$100," replies Bob. "Look, tell you what, give me œ70 for it, I'll be going back there on business in a couple of weeks, I'll get another one then." Hardly able to believe his luck, the programmer hands over the money and straps on the watch. He thanks his friend profusely and turns to leave. "Hey, just a minute," calls Bob, pointing to the suitcases. "Don't you want the battery-packs?" Computer humour reflects the double-edged blade that computer technology represents. Promising much, usually meeting that promise, only... not quite in the way we thought it would. "The number of bugs present in a software package is directly proportional to the number and importance of the people present at the demonstration." - Richard's law of software demonstrations. "There comes a point in the debugging of any program when the process of fixing one bug creates at least two more." - Appleby's law of software development. Many laws of computing apply equally well to almost any human activity. The 'one step forward, two steps back.' syndrome described by Appleby could have been said of aircraft design or snail-racing, sailing or engineering. But perhaps programmers more then pilots recognise that "dimensions are always expressed in the least convenient terms; acceleration, for example, will be expressed in furlongs per fortnight squared." And project managers more than politicians know that "compromises are always more expensive and time-consuming than either of the options they are replacing." The jokes are cynical, yet the cynicism is one of smiling acceptance rather than bitterness or anger. And those most cynical about computers are often the most enthusiastic. The eight laws of computer programming: 1. Any given program, once running, is obsolete. 2. Any given program costs more and takes longer. 3. If a program is useful, it will have to be changed. 4. If a program is useless, it will have to be documented. 5. Any given program will expand to fill all the available memory, and then some. 6. The value of a program is inversely proportional to the weight of its output. 7. Program complexity grows until it is beyond the capability of the programmer who must maintain it. 8. Make it possible to program in plain English, and you will find that programmers cannot write plain English. It takes a peculiar kind of mentality to struggle for eight hours a day to persuade a bunch of electronic circuits to behave in the way you want them to and then acknowledge, only half jokingly, the futility of it all. The saying that "there's never time to do it right, but there's always time to do it again" is frequently heard. Perhaps it's that we can never quite exorcise the ghost of Arthur C. Clarke's HAL, but there is a tangible feeling among even the most hard- nosed of data processing managers that computers are not quite the innocent chunks of metal and silicon they pretend to be. I've heard gardeners talk to plants , but never anything approaching the kind of calm, detailed logical explanation of precisely why a program should work that I've heard programmers give to the deaf electronic moron in front of them. That was in my programming days, of course. I don't talk to computers now. Not unless they're being really perverse, that is.