Cosas mías

May 27, 2005

El error informático que hizo perderse a la sonda Viking camino de Venus

Estoy leyendo el libro Sistemas de Tiempo Real y Lenguajes de Programación, de unos tales Alan Burns y Andi Wellings, en su verisón en castellano editada por Addison Wesley. Hasta donde he llegado, nada nuevo bajo el sol, pero me resulta curioso un texto que aparece en la página 44, al final de la misma. Cito textualmente:

Un ejemplo clásico de pobre convención léxica es el de FORTRAN. Este lenguaje permite el caracter en blanco como separador. Por poner un caso, un simple error al teclear un programa (us signo “.” en lugar de un signo “,”) terminó, según se dice, con la pérdida de la sonda norteamericana Viking en su camino a Venus. En lugar de la siguiente línea:

DO 20 I = 1,100

que es un bucle (salta a la etiqueta 20 mientras I toma valores de 1 a 100), se compiló una asignación (el operador de asignación es “=”):

DO 20 I = 1.100

o, puesto que los espacios pueden ser ignorados en los identificadores,

DO20I = 1.100

Para que luego digan del C. Eso sí que es peligroso.

La pregunta del millón
En el mismo libro, en la página 41, aparece una pregunta un tanto escatológica y que, por lo menos a mi, me lleva de cabeza (en mi caso, un error de ese tipo sólo lleva a pérdidas económicas por parte del cliente, así que por lo menos suelo dormir bastante tranquilo):

2.4 ¿Deberían ser los ingenieros de software responsables de las consecuencias de los errores de sus sistemas de tiempo real?

Ahí queda eso.

Get free blog up and running in minutes with Blogsome
Theme designed by Gary Rogers