El problema
del Año 2000 no es difícil
de entender desde el punto de vista técnico. Es el
alcance de los sistemas y los procesos comerciales afectados lo
que le confiere tanta
importancia. El problema proviene de tres áreas principales:
almacenamiento de fechas con
dos dígitos, cálculo de años bisiestos y campos de fecha con
significados especiales. Todas
las organizaciones deben examinar las implicaciones de estas tres
áreas.
Desafortunadamente, no va a haber una solución sencilla para el
problema del Año 2000;
no hay "varitas mágicas" debido a que el uso de las
fechas en los cálculos está muy
generalizado en el software y dicho uso no está estándarizado.
Almacenamiento de fechas con dos dígitos
El
problema más común y más perjudicial proviene del software que
está escrito para
almacenar o manipular fechas mediante la asignación de sólo dos
dígitos para el año. Los
cálculos que se realicen con dichas fechas no serán correctos
porque no podrán contemplar
las fechas del siglo XXI como números mayores que las fechas del
siglo XX. Ejemplo: 2000
– 1998 = 2, pero 00 – 98 = -98. (o 98, si la
aplicación no admite números
negativos). El resultado podría ser que un programa de
contabilidad viera todos los pagos
pendientes como vencidos, ya que ningún cliente habría pagado
en los últimos 98 años.
La
convención de los dos dígitos en el tratamiento de la fecha,
asume el siglo es "19". Esta
suposición fue considerada como una necesidad de los primeros
tiempos de la informática,
por el alto costo de los medios de almacenamiento y la memoria.
Actualmente, el uso de las
fechas con dos dígitos ha quedado perpetuado por el contexto
sociológico en el que se
hace referencia a las fechas en nuestra vida diaria. Las personas
eligen usar los dos dígitos
debido al hecho de que la mente humana puede manejar las fechas
según el contexto,
mientras que los equipos requieren su expresión explícita.
Cálculo de años bisiestos
Los
años bisiestos se calculan mediante un sencillo conjunto de
reglas.
Desafortunadamente, hay sistemas y aplicaciones que no reconocen
el Año 2000 como año
bisiesto. Esto provocará que todas las fechas siguientes al 29
de febrero del Año 2000
tengan un adelanto incorrecto de un día. Las reglas para el
cálculo de años bisiestos son
las siguientes: un año es bisiesto si es divisible por cuatro
pero, si es divisible por 100, NO
es año bisiesto, y, si es divisible por 400, Sí es año
bisiesto. De esta forma, el Año 2000 es
un caso especial de año bisiesto que sólo se da cada 400 años.
Fechas con significados especiales
El
tercer gran problema que presenta el Año 2000 suele encontrarse
en sistemas que
tienen códigos antiguos. Para escribir código eficiente que
utilizara la mínima cantidad de
memoria posible, los campos de fecha se utilizaban, en ocasiones,
para proporcionar
funcionalidades especiales. La fecha utilizada con mayor
frecuencia con propósitos
especiales era 9/9/99. En algunas aplicaciones, el uso de esta
fecha especial significaba
"mantener estos datos permanentemente", "eliminar
estos datos automáticamente
después de 30 días" u "ordenar estos datos en la
parte superior del informe". En cada
organización, los códigos de fechas especiales pueden haber
sido utilizados de forma
diferente. ésta es una las razones principales por las que no
puede haber una única
herramienta para detectar los usos especiales de los datos de los
campos de fecha.
Técnicamente,
el problema es fácil de comprender. Las soluciones al problema
tienden a ser
bastante simples también. El alcance del problema, de cualquier
modo, lo hace díficil. Hay
que examinar cada componente de hardware, software y sistemas
integrados. Todo, desde
los sistemas centrales de contabilidad más críticos hasta las
más pequeñas aplicaciones
complementarias, tiene que ser examinado para comprender el uso
que se hace de las
fechas y la forma en que dichas fechas pueden afectar al resto
del entorno.
Precio
de la memoria. En los primeros días de los sistemas de
información, la memoria era
muy cara. Sólo con que los programadores ahorraran dos bits por
registro en la memoria
(por ejemplo, el "19" de 1975), las organizaciones
podían ahorrar mucho dinero en gastos.
Además, no se esperaba que las aplicaciones más antiguas fueran
utilizadas durante tanto
tiempo, 20 o 30 años. Más aún, los hábitos y los procesos de
programación de los
principios de la década de 1970 siguen existiendo actualmente.
El ahorro de los dos dígitos
mencionados para aumentar la eficiencia todavía se utiliza en la
actualidad.
Sociología.
El problema también tiene un aspecto sociológico. En nuestra
sociedad, las
personas representan automáticamente los años con dos dígitos.
Por ejemplo, ¿cuándo fue
la última vez que escribió las cuatro cifras del año en un
cheque? o ¿cuándo fue la última
vez que rellenó su fecha de nacimiento en un formulario
utilizando las cuatro cifras del año?
La
naturaleza humana juega un papel importante como causa del
problema. En la década
de 1960, los programadores utilizaban sólo un dígito para la
fecha. En 1968, empezaron a
preocuparse por la proximidad de la década de 1970 y se
preguntaron cómo podían
solucionar la situación. En ese tiempo, ya sabían que el año
2000 también sería un
problema parecido, pero estaba aún muy lejano. Los programadores
nunca imaginaron que
sus aplicaciones seguirían en uso hoy en día y que podrían
sufrir el problema del año 2000.