Un amigo de este blog, Juan, nos indicaba en una entrada de 8 Trucos para iPhoto que quizás no conozcas que desconocía que era exactamente un bug. Bien, esto nos da pie para detallar esta curiosa historia sobre que son los bugs en informática, cómo se creó el término y alguno de los mejores bugs de la historia. Va por ti! (y por el resto)
Un bug, como muchos de vosotros ya sabréis, no es más que un error inesperado del software. Un fallo que los programadores no han detectado en el proceso de desarrollo y que se ha trasladado hasta la producción del software al cliente. Los bugs más habituales desencadenan en un estado inesperado, en que tu aplicación se cierre o en los casos más especiales la destrucción de la sonda espacial Mariner en 1962 o del Ariane 5 en 1996. Errores…
Origen del término «bug» en informática
Lo que quizás no sabías es que su origen es bastante más literal de lo que pensabas. Bug (bicho en inglés) proviene de 1947 cuando los creadores del ordenador Mark II comprobaron que el equipo tenía un error en los componentes, un error que no esperaban y que se debía ni más ni menos que a una polilla, a un bicho. Es esta por lo menos la primera vez que se utilizaba este término en un ámbito informático.
Es verdad que el término en sí se utilizó anteriormente, sobre todo en la era en que un bicho en alguno de los mecanismos de las máquinas provocaban un error de la misma.
Bugs más frecuentes en programación
- Uso de tipografías con difícil lectura.
- Divisiones por 0
- Repeticiones infinitas
- Desbordamientos
- Exceder el tamaño del array
- Usar variables no inicializadas
- Acceder a memoria no permitida
- Perdida de memoria
- Desbordamiento de pila
- Problemas con el buffer
Tipos de bugs
Vamos a retomar alguno de los tipos de bugs, con su nombre «personalizado» incluido, que se conocen en la programación.
- Heisenbugs: Toma su nombre del «Principio de Incertidumbre de Heisenberg». Este error se debe a cuando los programadores encuentran un error que se altera en cada momento pudiendo incluso desaparecer, por lo que al tratar de depurarlo con una herramienta diferente, éste es cambiado o no aparece. Bastante molesto y problemático.
- Bohrbug: Toma su nombre del «Modelo atómico de Bohr». Este error es completamente diferente al anterior ya que se haga lo que se haga, siempre permanece igual.
- Mandelbug: Toma su nombre del «Conjunto fractal descubierto por Benoit Mandelbrot». Es de gran complejidad. Su comportamiento es tildado de caótico. Una auténtica pesadilla en expansión.
- Schroedinbugs: Toma su nombre de la «Paradoja del gato de Schrödinger». Estos errores no aparecen hasta que algún usuario lee el código y descubre que realizando algunas acciones en principio no planificadas, el sistema puede fallar. Desde ese momento, el error se hace visible para todos. Es raro y más inusual que el resto, pero existe.
Los mejores bugs en videojuegos
Y por último, vamos con un poco de diversión, con algunos de los mejores bugs que se conocen en una industria bastante habitual a este tipo de errores como son los videojuegos. Coches voladores, niveles extras, habitaciones llenas de melones… pasen y vean!
- Battelfield 3 y el helicóptero flotante
- Princesa vísceras
- Un tio que pierde la cabeza…
- Cristiano Ronaldo.. ¡piscinazo!
- Space Invaders. Sí sí.. has oído bien y si ves el vídeo no creo que notes nada raro, pero el bug fue que por un error el ritmo de las naves era creciente, cosa que no debía ocurrir… pero que ocurrió y que sus creadores quisieron dejar ya que aportaba un toque especial y un reto al usuario. Un bug que al final se convirtió sin duda en uno de los mejores de la historia, por bien ;)
Esperamos que os haya gustado la historia :) Un saludo… desde Facilware!