next up previous
Next: The three results of Up: The Software Dragons (ErrorLog:Documentation:Introduction). Previous: Introduction

The Software Bugs

The Dragon is a very good term to describe many problems of the software industry. To introduce it I begin from other things. This is not the easiest way, but I have my own reasons to choose such course.

At first consider one more simple and ordinary creature. This is well known ``program bug''. There was many times explained that the term ``bug'' shouldn't be used. I think you have read some of these articles. We'll consider one more interesting question, why programmers use this word and why they like to use it?

Let's define ``bug'' as a virtual creature that had crept in the program, hides in the program code and disturbs the correct execution of the software. The ``real'' cause of the problem is usually an error of a programmer. As rule this is the programmer seeking the ``bug''. The will to hide own faults is one of reasons to speak about ``bugs'', but this is not the primary motive. The programmer itself acts in the manner he is catching in his program a small and crafty insect.

In the companies, where bugs are attribute of life, the work is usually boring. The time pressure, bad management and absence of rewards may make a programmer unhappy. As a normal human he's seeking things that can make his existence more valuable. Frequently solution is the virtual world of games. A man can take pride, if he have killed all monsters and got more points as yesterday. Many programmers I know are fans of computer games.

If you remember how looked computer games fifteen years ago, you can say, that the modern debugger is much more interesting to play with. I had spoken with many people about grounds of their bad programming style, absence of comments, bad documentation. One of common signs of these people is the love to a beautiful game. The game getting fun. The game whose results are important for other people. The game where the reward is money and better staff position. This game is a war against small software monsters. Most gamers call it the ``debugging''.4

One may say these are not monsters and ``bug'' is a technical term. Don't be mistaken. If a human is looking like he is playing, if he is feeling like he is playing, if he is speaking like he is playing, then he is playing.5

If you have understood this point of view on software bugs, we can return to the primary subject of this article. The bugs are small software monsters. They haven't power and are enjoyable to play with. I won't describe them below. We'll consider the more dangerous and bigger kind of virtual software monsters. The monsters who bring not pleasure but terror.

To come to The Software Dragons we need firstly go into other hidden areas of the programming. Let's consider the nature of the software.


next up previous
Next: The three results of Up: The Software Dragons (ErrorLog:Documentation:Introduction). Previous: Introduction
2002-03-18