}

Hacia la apocalipsis informática del año 2000

1997/10/01 Elizondo, Luis Iturria: Elhuyar aldizkaria

Dentro de dos años, los programas de software que utilizan únicamente los 2 últimos dígitos para indicar el año, generarán serios problemas en cualquier lugar.

Todos los relojes mundiales nos llevan hacia el año 2000 sin remedio, segundo a segundo, sin descansar. Cuando alguien no inventa la máquina de tiempo, al menos, no se puede retroceder. Así las cosas, ¿qué pasará en los sistemas informáticos mundiales después del año 2000? ¿Caos? ¿Desastre? ¿Cuál es esa cuestión que preocupa a todos los responsables informáticos del mundo?

Lo entenderemos con un pequeño ejemplo. Imagínate que después de oír las campanadas de la Nochevieja de 1999, después de tragar las uvas imprescindibles corriendo y con prisas, quieres felicitar al amigo o familiar o amante que ha ido a Canarias. Coge el teléfono a las 0:10 de la noche y aprovechando la falta de monopolio de Telefónica (a partir de ahora, por suerte o por desgracia, tendremos duopolio), haces una larga conferencia de 20 minutos en ese momento, en el siglo pasado, con el interlocutor de las islas que, a juicio de algunos, se encuentran en el milenio anterior.

Una vez colgado el teléfono, si la compañía telefónica no ha corregido sus programas informáticos, estarás a punto de perder todo el dinero ahorrado en tu vida, porque recibirás la factura de la llamada que ha durado entre el 1 de enero del 00 y el 31 de diciembre del 99, es decir, ¡una llamada interprovincial de 99 años!

Problemas y errores similares surgirán a partir de esa fecha en cualquier ámbito, ya que mientras el mundo occidental pase de 1999 a 2000, muchos programas informáticos se retrasarán de 99 a 00. ¿Por qué? La razón es muy sencilla. En las décadas de 1960 y 1970, por el ahorro de la preciada memoria de las computadoras excesivamente caras, los programadores decidieron escribir las fechas con 6 dígitos para indicar día, mes y año.

Por ejemplo, el “6 de octubre de 1973” se convirtió en “731006”. Es decir, dejaron fuera el “19” que se repetía en todas las fechas porque no servía para nada; el año 2000 estaba muy lejos para preocuparse o angustiarse. ¿Y qué supone en este momento? Para entender el problema, debemos analizar los cálculos más básicos y simples que realizan repetidas veces las computadoras. Es decir, los cálculos que realizan las computadoras para saber cuánto tiempo ha pasado de un suceso a otro. Por ejemplo, ¿cuántos años tengo?

Yo nací el 21 de mayo de 1965. Si a un computador le preguntan cuántos años tengo, deducirá teniendo en cuenta la fecha actual: 97-65=32. Pero en el año 2000 también realizaría la misma operación, es decir, entre 00-65, y entonces decidiría que tengo -65 años. Sin duda, este tipo de cálculos provocarán errores y malentendidos. Y no sólo por la edad de las personas, sino que toda la información que está basada en el tiempo también se desmorona.

Todo. ¿Cuándo finalizarán los plazos de estas tarjetas de crédito? ¿Hasta cuándo se puede tomar este medicamento? ¿Cuándo me terminará la suscripción a esta revista? ¿Qué pasará con los vuelos nocturnos de Nochevieja de 1999? ¿Qué van a pagar los bancos por intereses? ¿Y qué se cobra por los préstamos? Todas estas preguntas están basadas en el tiempo y si el computador no sabe cuál es la fecha real de hoy, no podrá responder correctamente.

Y si el motivo de la barbarie que nos llega es tan simple, ¿por qué no previeron todo esto hace 20 años? Sabía que algún día llegaría el año 2000, ¿no? Sí, pero cuando las computadoras empezaron a introducirse en el mundo empresarial, en las décadas de 1960 y 1970, eran más caras que costosas. Y la forma más sencilla de bajar esos precios tan altos era restringiendo los datos que deben guardar los computadores. Y además, cuantos menos datos utilizaban, más velocidad podían conseguir, por lo que se avanzó con la restricción de dígitos. En esa época los datos se almacenaban en tarjetas horadadas con capacidad para 80 caracteres por tarjeta.

Y la verdad es que 80 caracteres son muy pocos para escribir cualquier cosa. A la hora de escribir una fecha, por tanto, en lugar de poner “23 de agosto de 1953” (18 caracteres), o “23/08/1953” (10 caracteres), decidieron escribir “530823” (6 caracteres), olvidando ese “19” ditxoso. Escribir las fechas sólo con 6 dígitos fue mucho más lógico, más lógico y económico.

A la hora de elegir esta solución de compromiso, los programadores sabían que el año 2000 iba a llegar, por supuesto, pero quedaban 30 o 40 años largos para ello y creían que los programas entonces no tendrían valor en el futuro. Y en esa convicción se equivocaron, fallaron. Aunque parezca mentira, hoy en día se utilizan muchos códigos de esas épocas, ya que muchos programas de software han pasado de una aplicación a otra, como si fuera una herencia biológica.

Muy bien. Si el problema es sólo eso, ¿por qué no añadir el número mágico “19” en las fechas de todos los programas informáticos? Parece sencillo. Coge el código de fechas incorrectas, lo entrega a un programador y él añadirá los dos dígitos que faltan. Desgraciadamente, la cuestión es muy diferente.

Sabemos lo que es necesario para prevenir el apocalipsis informática del año 2000, pero ahora la solución es muy complicada, costosa y muchos expertos consideran que no hay tiempo.

Llevarlo adelante no es nada fácil, porque nadie sabe dónde están las fechas. Cada programador ocultó de diferente manera estos dígitos. Mientras uno utilizó la palabra date, otro optaría por el day, y quizás alguien utilizó Pamela Anderson. ¡Quién sabe! Programar y crear están a menudo interrelacionados y el creador tiene toda la libertad para realizar su obra. En consecuencia, habría que explorar todos los programas de software para añadir el famoso “19” a los años de dos dígitos.

¡Claro! Pero en los últimos 30 años se han escrito millones y millones de líneas de programas, se han construido miles de aplicaciones informáticas y es muy normal que una empresa corriente de hoy en día tenga 100 millones de líneas en sus programas informáticos. Por lo tanto, habría que leer todas estas líneas para encontrar y cambiar fechas.

Si se da un solo segundo por línea y sólo se trabaja 8 horas al día, una persona tardaría 13 años en solucionar el problema de la empresa, aproximadamente. O 13 personas en un año. ¿Y quién debe gastar esa cantidad? La mayoría de las empresas no. En la actualidad sólo el 40% de las empresas estadounidenses se han enfrentado al problema y en Europa estamos aún peor. Y al igual que en otros proyectos, el año 2000 no se retrasará, no es posible. Quedan menos de 120 semanas.

Y esa es la cuestión. Sabemos lo que hay que hacer, pero ahora, a las puertas del nuevo siglo, la solución es muy difícil, muy cara, y muchos expertos consideran que no hay tiempo para revisar y reescribir todos los programas. Es demasiado tarde, desgraciadamente.

Mientras has leído este artículo, el año 2000 se ha acercado un poco más, al menos han pasado unos minutos. Cada vez queda menos tiempo. No obstante, si quieres recibir más información sobre el tema antes de caer en el caos informático, puedes dirigirte a las direcciones de la tabla de Internet.

  1. http://www.amcity.com/houston/stories/090996/editorial1.html
  2. http://www.midrangesystems.com/year2000/year2000.htm
  3. http://www.2k-times.com/y2k.htm
  4. http://www.winmag.com/people/melgan/year2000/

Gai honi buruzko eduki gehiago

Elhuyarrek garatutako teknologia