Palabra de origen inglés que significa bicho. En el campo de la informática cuando se habla de bugs nos estamos refiriendo a los errores en la programación que puede tener un programa. Siempre que se desarrolla un nuevo programa aparecen multitud de bugs o errores en la programación, hasta tal punto que puede afirmarse que no hay programa libre de ellos. Se dice que cuando los ordenadores ocupaban habitaciones enteras y estaban formados por válvulas de vacío, un técnico que intentaba encontrar un error en el ordenador Mark II de Harvard descubrió con sorpresa que la causa de dicho error era una polilla que se había introducido entre las válvulas, al provocar con su revoloteo pequeños cortocircuitos. De ahí el nombre de bug.
Los bugs son extremadamente habituales, tanto es así que la mayoría de las versiones de actualización de programas informáticos no son más que el mismo programa una vez corregidos los errores que se hayan podido identificar. Dichas actualizaciones suelen incorporar también algunas características nuevas al programa, características que son susceptibles de añadir más bugs o incluso de estropear algo que hasta entonces funcionaba bien. A todos se nos viene a la memoria decenas de ejemplos de programas con errores corregidos una y otra vez. Esto es muy típico en los juegos de ordenador, ya que son programas que explotan al máximo todos los recursos del sistema y deben intentar mantener la compatibilidad con la mayoría del hardware existente, algo que rara vez se consigue, provocando desde pequeños errores gráficos hasta el cuelgue total del equipo.
Los bugs son extremadamente peligrosos cuando se está trabajando en proyectos que requieran de la máxima seguridad y fiabilidad. Así, por ejemplo, el software que usa la NASA, tanto los sistemas operativos como los programas que corren sobre él, es un software viejo que ha pasado larguísimos periodos de prueba y verificación, identificando, corrigiendo y eliminando todos los posibles errores existentes.
Por otro lado están los efectos colaterales de programación. Este tipo de errores son acciones que realizan los programas sin que el programador las haya programado deliberadamente. En realidad sí las ha programado, pero no con la intención de que hicieran eso. Suelen ser fallos de la lógica de codificación o planteamiento del flujo del programa, errores, al fin y al cabo. En ocasiones manifiestan en la primera prueba del programa, pero a veces sólo lo hacen en ocasiones muy concretas. Estos efectos colaterales no son bugs, propiamente dichos, son comportamientos no deseados del programa que a veces hacen cosas interesantes, y en otras no.
Podemos citar como ejemplo relacionado con la ciencia-ficción a la película y novela 2001, en la que el ordenador de la nave, HAL-9000, se vuelve loco e intenta matar a toda la tripulación. Este comportamiento anómalo del ordenador fue causado por un conflicto entre su programación básica y las órdenes recibidas para la misión. Según la novela, este conflicto entre órdenes contradictorias provocó que HAL quedase atrapado en un lazo Hofstadter-Moebius o, en términos humanos, que desarrollase una psicosis o una esquizofrenia.
©