Por Claudio H. Sánchez (*)
Hace veinte años, los jefes de sistemas de todo el mundo contenían la respiración: se acercaba el año 2000 y, con él, la amenaza de un posible caos tecnológico.
Por Claudio H. Sánchez (*)
Hubo un tiempo en que las computadoras tenían muy poca capacidad. La IBM PC de 1981 tenía solamente 16 kB de memoria. Eso es un millón de veces menos que un modesto teléfono celular de la actualidad. Para poder funcionar en condiciones tan limitadas, los programas se diseñaban para aprovechar al máximo el limitado espacio disponible. Así, para guardar una fecha se usaban seis posiciones digitales: dos para el día, dos para el mes y dos para el año. Por ejemplo, el 25 de marzo de 1987 se guardaba como 250387. De alguna manera, el programa sobrentendía que estábamos en el siglo XX y que el 87 correspondía al año 1987.
Pero, al aproximarse el año 2000, programadores, analistas e ingenieros en sistemas comenzaron a advertir que esa forma de manejar las fechas tarde o temprano produciría algún tipo de error.
El año siguiente a 1999 sería el 2000. Pero, con solamente dos espacios para almacenarlo, el nuevo año quedaría guardado como 00, que sería interpretado como 1900. Para la computadora, el día siguiente al 31 de diciembre de 1999 sería el primero de enero de 1900. Cualquier cálculo que dependiera del correcto valor de la fecha actual daría un resultado equivocado. A esta anomalía se la conoció como “bug del milenio”, “problema del año 2000” o “Y2K” (por year 2000).
Por ejemplo, el 2 de enero del año 2000 sería domingo, pero el 2 de enero de 1900 había sido martes. Una computadora que controlara los horarios de operaciones de los bancos, de apertura y cierre del comercio, o de corrida de los trenes, establecería para ese día horarios correspondientes a un día hábil, aunque en realidad sería un domingo. Otro problema aparecería al calcular edades o antigüedades en el trabajo. Una persona nacida en 1970 cumpliría 30 años en el 2000. Pero las computadoras, al suponer que se encontraban en 1900, calcularían una edad de -70 años (restando 1900 menos 1970). No solamente sería una edad equivocada, sino también absurda, por ser de signo negativo, lo que no tiene sentido. Los más alarmistas pronosticaban catástrofes como cortes de luz masivos, caos en los sistemas de control de tránsito y hasta aviones estrellados.
Para entender por qué el problema del año 2000 podía ser realmente un problema hay que recordar que, aunque los usuarios domésticos teníamos en nuestras casas equipos y programas modernos y actualizados, en la industria, el comercio y la administración pública seguían en uso programas muy antiguos cuyo comportamiento ante el cambio de fecha no era totalmente conocido. Todavía en 1990 el Transbordador Espacial Columbia usaba tecnología informática de 1970, que era la disponible cuando el transbordador comenzó a ser diseñado y construido. Sus computadoras no tenían disco rígido, los programas debían cargarse y descargarse desde cintas magnéticas a medida que se necesitaban y los transbordadores no podían volar misiones que comenzaran en diciembre y terminaran en enero porque los programas no manejaban bien no ya el cambio de siglo sino el cambio de año.
Debido a esto, muchas consultoras lanzaron programas de prevención para controlar el problema antes del primero de enero del nuevo año. Se analizaban todos los programas en uso y se simulaba su comportamiento ante el cambio de año. Fue un gran negocio para esas empresas.
Sin embargo algunos expertos adelantaron que, probablemente, nada grave pasaría el primero de enero del 2000, como consecuencia del bug del milenio. Citaban un caso en el que, claramente, el problema del año 2000 no existía: mucho antes del primero de enero había en todo el mundo tarjetas de crédito con fecha de vencimiento en el año 2000. Si el problema hubiera alcanzado a los sistemas de pago, esas tarjetas habrían sido consideradas vencidas en 1999, porque la fecha de vencimiento sería interpretada como correspondiente a 1900. Sin embargo, no se registraron rechazos por esta causa. Al menos, no masivamente. De modo que, al menos en este caso, podía suponerse que los sistemas estaban preparados para el nuevo año.
Al final, no pasó gran cosa y solamente se registraron problemas menores:
* En Japón se detectó un problema en una compañía telefónica minutos después de la medianoche. El problema se resolvió horas después sin interrumpir el servicio.
* En Australia fallaron las máquinas lectoras de boletos de ómnibus.
* En Estados Unidos el observatorio naval dedicado a mantener la hora oficial informó inicialmente que estaban en el año 1910.
* En Italia la compañía telefónica emitió sus primeras facturas de servicio con fecha de enero de 1900.
También hubo algunos problemas en centrales nucleares en Japón y España, pero nada demasiado grave. El primero de enero del año 2000 llegó y pasó sin consecuencias serias. Por supuesto, nunca sabremos si no pasó nada serio porque el problema realmente no existía o por la eficacia de las acciones de prevención.
El año siguiente a 1999 sería el 2000. Pero, con solamente dos espacios para almacenarlo, el nuevo año quedaría guardado como 00, que sería interpretado como 1900. Para la computadora, el día siguiente al 31 de diciembre de 1999 sería el primero de enero de 1900.
El 2 de enero del año 2000 sería domingo, pero el 2 de enero de 1900 había sido martes. Una computadora que controlara los horarios de operaciones de los bancos, de apertura y cierre del comercio, o de corrida de los trenes, establecería para ese día horarios correspondientes a un día hábil, aunque en realidad sería un domingo.
(*) Periodista y divulgador científico.