jueves, 18 de abril de 2013

Y2K, El problema del año 2000


Se trata del hecho de que en algunas computadoras, en particular en las de modelos viejos, las fechas son almacenadas en tres campos de dos dígitos cada uno, lo cual impide distinguir entre las fechas del siglo XX y las del siglo XXI. Por si esto fuera poco, algunos programadores utilizaron en aquella época el 99 como un valor especial suponiendo que para 1999 ya existirían otras aplicaciones.
En el campo de la tecnología de la información (TI), la crisis del año 2000 se refiere a los errores que los computadores pueden generar en cálculos basados en comparaciones de fechas con la llegada del nuevo milenio. Esto se debe a que algunos computadores y dispositivos electrónicos almacenan las fechas en campos de dos dígitos, por lo que les es imposible distinguir entre fechas del Siglo XX y fechas del Siglo XXI.
Aunque en apariencia este es un problema sencillo, la identificación y corrección de fechas en distintos tipos de programas es un procesoextremadamente lento y costoso, Microsoft estima que el 30% del presupuesto de las grandes empresas en 1998 será destinado a la corrección de este inconveniente.
Los especialistas en informática consideran hoy en día que se trata del problema más grande al que se ha enfrentado la industria de la computación en sus 50 años de existencia. Por desgracia, muy pocas organizaciones están preparadas para encontrar una solución oportuna.
De acuerdo con Bill Ulrich, una de las principales autoridades en el problema del año 2000, "si usted piensa que sus sistemas de computación estánseguros, lo más probable es que se equivoque". El ochenta por ciento de todos los programas de cómputo no cumple con el cambio de siglo en el año 2000. Esto significa que debido a la forma en que las fechas están programadas en las computadoras, al llegar al año 2000 sus sistemas no funcionarán adecuadamente.



El problema mayor lo tienen aquellos sistemas que almacenan internamente las fechas en un formato de dos dígitos para la parte correspondiente al año (mm/dd/aa o dd/mm/aa). Los cálculos que se basan en este modelo no devolverán los resultados correctos. Por ejemplo, supongamos que en el año 1999 alguien intentar realizar una sencilla operación con una tarjeta de crédito (como harán millones de personas). Supongamos que el comprador tiene un balance positivo a final de año. El banco intentará calcular el interés debido, como siempre, pero ahora hay un problema: para calcular el interés, el banco resta la fecha del vencimiento del pago de la fecha actual. Usando un formato de fecha de dos dígitos, el computador intenta restar 99 de 00, dando como resultado -99. Esto es debido a que aquellos sistemas, que almacenen internamente los años en formato de dos dígitos no comprenden que 00 es, en este caso, un número mayor que 99.
Pero los problemas causados por el cambio de siglo también se extienden a otras áreas. Y es que hay que considerar que el primero de enero de 1900 fue lunes y el primero de enero de 2000 será sábado. Como resultado de esta aparente insignificancia, un sistema que es incapaz de distinguir entre fechas de diferentes siglos interpretará incorrectamente a partir de ese día, todos los días de la semana. Esto sucede también en sistemas que asocian a cada día un número fijo como cuenta de días desde el 1 de Enero de 1900 hasta el presente. Este problema seguramente causará dolores de cabeza a las compañías cuyos sistemas emiten facturas automáticamente en días predeterminados y a aquellas que limitan el acceso mediante sistemas informáticos a sus entornos seguridad en ciertos días de la semana.
El impacto de los malos cálculos de la fecha puede afectar a los sistemas de control de inventario, herramientas de proyección financiera, sistemas dearchivo automático, etc. Los problemas del Año 2000 se manifestarán no necesariamente impidiendo que los sistemas sigan funcionando sino también en los sistemas que aparenten funcionar correctamente pero generen fallos lógicos.
La segunda posibilidad de error relacionado con la fecha se centra en el hecho de que el año 2000 es un año bisiesto. Cada cuatro años suele haber un pequeño ajuste en el calendario gregoriano utilizado hoy en día desde su implantación en 1582. Dicho ajuste es el que ha llevado a la existencia de un día adicional en febrero de cada cuatro años, o sea, al llamado año bisiesto. Muchos programadores de computadoras no tomaron en cuenta este hecho al definir sus fórmulas para el cálculo de fechas. No obstante, el ajuste de un día cada cuatro años no representa el mayor reto de los sistemas complejos: la llegada del año 2000 y los problemas que implica van mucho más allá.



El año es bisiesto, es decir tiene 366 días (29 de Febrero) todo aquel que sea múltiplo de 4, sin incluir aquellos que a su vez sean múltiplos de 100 a excepción de aquellos que sean múltiplos de 400" Muchos algoritmos matemáticos tomaron las dos primeras partes de la regla pero se olvidaron de la última porque la última vez que pasó este caso fue en el año 1,600 !! Ahora como vez, el año 2000 es bisiesto por que cumple con :
1.            Multiplo de 4 (Esto lo hace bisiesto)
2.            Multiplo de 100 (Esto hace que no sea bisiesto)
3.            Multiplo de 400 (Esto hace que sea una execpción al punto 2. y por lo tanto SI LO HACE BISIESTO)
En realidad, 2000 es un año bisiesto especial, que ocurre una vez cada 400 años. Muchos sistemas y aplicaciones fueron diseñados sin tener en cuenta que el año 2000 es bisiesto y, por consiguiente, no han contado con el 29 de febrero del 2000. Todas las fechas siguientes a este día serán, por tanto, incorrectas.

No hay comentarios.:

Publicar un comentario