Hogar | Suscríbase | Números anteriores | Créditos | Escríbanos | CUH | Matemáticas
Año 1, número 4 septiembre de 1999


ARTÍCULO
El Misterioso Año 2000
20 de septiembre de 1999 (José O. Sotero Esteva)

Si la bienvenida de un año nuevo es tradicionalmente un evento de renovación y esperanza, la de un nuevo siglo, y más aún la de un nuevo milenio, nos resulta misteriosa por su rareza. Hay quienes vaticinan graves calamidades para cuando se aproxima este tipo de evento aprovechándose de que ni nosotros ni nadie que hayamos comocido nunca han vivido la llegada de un nuevo. Pero ni los clarividentes más célebres imaginaron que la peste que nos atacaría esta vez sería virtual: el llamado virus del A2K o virus del año 2000.


El que esta epidemia neomilenaria se le achaque a un virus es algo históricamente novedoso ya que los víruses que andan por ahí ocasionándonos catarros u otros inconvenientes más serios fueron descubiertos durante el siglo en curso. Más novedoso aún es que el virus en cuestión no causa enfermedades a los humanos ni a ningún otro ser vivo, afecta a las computadoras, visibles u ocultas, de las cuales hemos llegado a depender tanto. Tememos que ya no será seguro transportarse en avión y que al despertar en la primera mañana del milenio nos encontraremos con una rebelión de parte de nuestros enseres hogareños más adorados.


El término virus del A2K parece ser una traducción del término en inglés. Una traducción al castellano de Y2K bug cambia Y por Año, deja el 2 igual y K, que corresponde a la palabra en latín kilo que significa mil, también se queda igual. Pero una traducción literal de bug es impublicable en Puertro Rico. Así que personificamos al animalejo del término en inglés con un virus y obtenemos el virus A2K. Desafortunadamente estamos cometiendo un error. Virus es un término que se utiliza en la ciencia de cómputos para referirse a un pedazo de programa - un conjunto de instrucciones que la computadora es capaz de entender y ejecutar - que tiene la capacidad de insertarse como parte de otros programas con intenciones maliciosas. El llamado virus A2K es realmente un problema causado por una práctica generalizada de programación que representa años usando dos dígitos decimales.


Solemos escribir los números utilizando lo que los matemáticos llaman un sistema numérico posicional de base 10. En ese sistema un dígito es un símbolo entre 0, 1, 2, …, 9. Es generalmente aceptado que la razón por la que usamos un sistema con 10 dígitos o decimal es por que tenemos 10 dedos (dígitos) en las manos, que de paso nos resultan muy útiles cuando estamos en el aprieto de tener que hacer un cómputo aritmético sin una calculadora a nuestro alcance. El número 2000, que quiere decir 2x103 + 0x102 + 0x101 + 0 x 100, seguramente sería escrito como 3720 (3x83 + 7x82 + 2x81 + 0x80) si tuviéramos ocho dedos y usáramos un sistema octal.


A estas alturas ya todas y todos sabemos que el problema A2K surge cuando representamos el año usando sus dos últimos dígitos decimales. Pero los programadores de la era de Ricky Matrin para quienes su lenguaje vernáculo es C o C++ podrían estar preguntándose cómo diablos eso puede tener nada que ver con las computadoras. Después de todo sabemos que los números enteros los representamos en la computadora como números binarios, usualmente con un mínimo de 16 bits, y con esa cantidad de bits podemos representar números (sin signo) tan grandes como 217 – 1 = 131,071. ¿No? Pues no siempre se hace así. Hay lenguajes de computadora que permiten hacer operaciones aritméticas con números representados como caracteres. En COBOL eso se llama binary coded decimal. Y el año es una cifra que típicamente se representa con uno de esos BCDs de dos caracteres. Como consecuencia algunos programas en computadoras o enseres que utilizan microprocesadores que usan el año para inferir el día de la semana partiendo de la fecha se van a equivocar infiriendo que el 1 de enero del 00 será lunes como fué el primer día del 1900 en vez de sábado como realmente será el 1 de enero del 2000.


A primera vista este error de los programadores y programadoras de computadoras parece ser una metida de pata colosal. Podemos entender el origen del problema si nos colocamos en la posición de los primeros programadores de computadoras electrónicas en los años 50 y 60. La vida útil de los equipos no pasaba de cinco o diez años. La memoria necesaria para almacenar los dígitos que representan los años era carísima y escasa. El año es una cifra muy común en récords de empleados o estudiantes o pacientes u otros. Economizarse la mitad de los dígitos que representan los años era muy ventajoso.


Arreglar el problema modificando la programación de modo que interprete años sobre 00 como mayores que los que están entre 50 y 99 sólo pospone el problema hasta el 2050 por que 50 podría referirse a 2050 o a 1950 cuando ya existían computadoras electrónicas. Añadirle los dos dígitos que faltan a todas las fechas en todos los bancos de datos y modificar los programas para que usen cuatro dígitos resulta en primera instancia una solución, aunque sea costosa. ¡Pero si lo pensamos bien estaremos creando el problema del año 10,000! Esperemos que los humanos de esa época comprendan nuestras limitaciones tal y como nosotros comprendemos las de quienes inventaron el ábaco de 8,000 años atrás.


Despejadas otras preocupaciones, el año 2000 parece guardar un último misterio: marca el comienzo del próximo milenio. ¿Si? Resulta que en el calendario que usamos no contempla la existencia el año cero. Eso implica que al terminar el año en curso habrán transcurrido 1999 años de esta era, no 2000. Determinar cuando fué que comenzó la segunda década contando con los dedos es un ejercicio sencillo podría convencerle de esto. Claro, asegúrese de que no les vean sus maestras y maestros de la escuela por que va a tener que aguantarse otro regaño. Si lo hace se convencerá de que la segunda década no pudo haber comenzado en el año 10.


Concuerdo con otros al advertir al lector que no debe ser muy purista en cuanto a este asunto por que si esperamos a celebrar al comienzo del próximo milenio en el 2001 nos perederemos el tremendo fiestón que ya está convocado para la llegada del 2000.