Many words are used daily in our language and, however, are not accepted by the Royal Spanish Academy (RAE) . He dictionary The entity, however, is updated over time and it is likely that a term not recognized today will become part of a future edition.
In the case of bug , it is a concept used by all those who have knowledge in the field of computing . This English word, whose literal translation is "bug" , is used to name the mistakes that occur in a computer program .
A bug is generated in the programming or the design of software and, at some point, it manifests itself to the user. Some common bugs are the inclusion of variables that were not initialized at the right time, the bad indexing of tables in a database, creating a Infinite loop , the use of fonts that are difficult to read or the choice of colors that confuse users.
The usual thing is that the programming language typify possible bugs so that the programmer can solve the errors in a simple way. Usually the idioms organize the bugs according to whether it is an error in the execution time of the program or an error in the compilation .
There is even a specific type of software whose function is to warn and fix bugs. These programs are known as debuggers or, in our language, as scrubbers . What a debugger does is analyze the program code and debug it, deleting every error it detects.
The term debugger is also used to name the role of a programmer in a company with objectives similar to the programs just mentioned, but with a much greater depth, complexity and potential, since it is not only dedicated to detect bugs, but to propose appropriate solutions and, at best, to correct them. The task of a debugger is not simple, especially when you must analyze tens of thousands of lines of code that were created by several people, in different parts of the world, and with whom they have no direct contact.
As shocking as it may be for a person who has no relation to the world of programming, this picture is the daily work scenario of many brave. Finding a bug, on the other hand, is not always easy. The most benevolent appear in a fixed sequence of steps, so it is possible to define them and cause the error as many times as necessary to understand what cause and study potential solutions; However, in certain cases it is not possible to find this recipe and the detection becomes a real nightmare.
One of the reasons that certain errors arise along a specific path and others, no, are usually that the first ones arise as a result of a less complex series of events, usually due to a simple lack of attention in the design or programming phase. . For example, it is common that in video game there is a bug that prevents the player from moving forward if he decides to interrupt the normal flow of events and does something that the designers did not believe possible or earlier than expected; In this case, and especially thanks to communication through social networks, developers are expected to publish a patch that solves the problem.
However, if the bug appears only if a certain number of variables They have reached a series of very specific and difficult to obtain values, which depend on various issues, it is likely that a very small number of people detect it and do not know how to explain what they have done to find it, making it difficult to correct it.