La venganza de los tragas



Otra vuelta de tuerca sobre el año 2000, un tema que nos tiene las bolas llenas

Se sabe que los tragas son muy afectos a las computadoras, no sólo por la matemática que las anima sino, además, por tener poca vida social. Cansados de que las chicas prefieran a los jugadores del equipo de fútbol americano de la universidad, de sentirse extraños entre la gente, de ser menospreciados y de muchas otras cosas, habrían planeado su venganza: determinado día, todas las computadoras del mundo dejarían de funcionar.


El crimen perfecto

Entonces, los tragas impondrían al mundo sus condiciones, y si éste no las aceptara, sarcásticamente dirían: "Bueno, que las computadoras las arreglen los chicos del equipo de fútbol americano".

Era probable que el plan fuera descubierto antes de la fecha señalada. Gente prevenida, los tragas ya habían preparado su coartada: la culpa no sería de ellos, sino de que las computadoras podían usar tan sólo dos dígitos para calcular el año. Así, los tragas lograrían no sólo evitar que la culpa caiga sobre sus espaldas, sino además asegurarse los honorarios por el trabajo necesario para que las computadoras sigan funcionando.

Como ya todos sabemos, el plan funcionó brillantemente. Todo el mundo se enteró de que el 1 de enero del año 2000 llegaría el fin del mundo, al menos para muchas computadoras y todo lo que dependiera de ellas: bancos, entidades financieras, organizaciones gubernamentales, equipos de defensa y hasta videocasseteras. Y el mundo se puso de rodillas ante los tragas y pagó el tributo: más de 600 mil millones de dólares sólo por el arreglo del software.

 

Elemental, querido Watson

Hasta aquí, el problema tal como todos lo conocemos (si bien desde un punto de vista poco ortodoxo). Pero si la cámara me acompaña, les demostraré que los tragas no son tan inocentes como mucha gente piensa, y que por lo menos, han pecado de inútiles y negligentes.

La coartada de los tragas acerca de los dos dígitos le parece a todo el mundo lógica y razonable. A mí no.

Verán: según dicha coartada, los programadores se habrían visto obligados a usar dos dígitos en lugar de cuatro, porque la memoria era en ese entonces cara y escasa. El problema es que las computadoras no manejan dígitos (como los seres humanos), sino bytes. Y mientras que un dígito representa un número entre 0 y 9, un byte representa un número entre 0 y 255.

Como el byte es la unidad de información que manejan las computadoras, un dígito debe ser representado, forzosamente, con un byte. O sea que usando un solo byte en lugar de dos, y contando a partir del año 1900, se podría haber llegado a contar hasta el año 2155, en lugar del 2000. Dos bytes (que ocupan la misma memoria que dos dígitos) permiten contar de 0 a 65.535.

Y cuatro bytes (los mismos cuatro dígitos necesarios para procesar correctamente el año 2000) permiten contar de 0 hasta 4.294.967.295 - un número tan grande que permitiría contar ya no los años, sino los segundos transcurridos a lo largo de 136 años.

De hecho, una variación de este último método se usa en los sistemas UNIX, cuyos programadores deben haberse llevado muy mal con los tragas de su momento, y tal vez por ello no se plegaron al plan.

Para calcular fechas con detalle, digamos que algún traga habría usado dos dígitos para definir cada uno de los siguientes datos: año, mes, día, hora, minutos y segundos. Ello da un total de 12 dígitos o bytes. Si con 4 bytes podríamos contar segundo a segundo durante 136 años, traten de imaginar lo que se podría hacer con 12. Tal vez les ayude saber que podría manejarse un número tan grande de años (al detalle del segundo), que a las calculadoras no les alcanzan las cifras en la pantalla a la hora de hacer la cuenta.

 

La última coartada

Pero algún traga dirá: sí, es cierto, las computadoras usan bytes - pero el lenguaje de programación que yo usaba trabajaba con dígitos. A lo que habría que contestar que, si realmente era tan importante el ahorro de memoria, no se debería haber usado un lenguaje de programación tan ineficiente.

Desde luego, queda la sospecha de que ese lenguaje de programación podría haber sido desarrollado a propósito por los tragas para dominar el mundo. Pero más allá de eso, es importante saber que para un (buen) programador, un lenguaje de programación no es un credo que se abraza hasta la muerte. Aprender un nuevo lenguaje de programación lleva a un programador menos de un mes, y más de un amante de las cosas bien hechas acepta ese mes "ocioso" si eso se traduce en un mejor resultado.

 

Conclusión

Si bien suena ridículo que el problema del año 2000 sea un plan de los tragas para dominar al mundo, es mucho menos triste que aceptar que se trata de otra muestra de la estupidez humana. Los recursos para evitar el problema estuvieron dados desde un principio - sólo que los programadores fueron demasiado inútiles como para aprovecharlos.

El problema del año 2000 habla de una forma de pensar en donde lo importante es que algo ande hoy, y mañana se verá. Insisto: no se trata de un error aislado, sino de una forma de pensar. Precisamente, los productos más susceptibles al problema del año 2000 son los peor diseñados en términos generales, debido a la "filosofía de diseño" de sus creadores. Y necesariamente, esta forma de ver las cosas es compartida por quien adquiere y usa esos productos.

Lamentablemente, el problema del año 2000 no logró que programadores y usuarios aprendan la lección: en la inmensa mayoría de los casos, se habla de "actualizar" (emparchar) el sistema, en lugar de reemplazarlo por algo bien hecho desde el principio y en su conjunto.

 

La Bondiola Software
www.labondiola.com.ar



Menú Principal