Menú

Un sistema informático puede ser diseñado de múltiples maneras. Al fin y al cabo, si un coche sólo sirve para desplazarse y existen innumerables marcas y modelos, ¡qué mil maneras diferentes puede haber de realizar aplicaciones informáticas, cuyos usos son tan variados! Esa variedad es una de las razones principales por las que siempre fallan las previsiones a la hora de entregar un proyecto informático, pues cada programa es distinto del anterior; no se pueden fabricar en serie.

No obstante, los ingenieros intentamos siempre descubrir trucos y técnicas que permitan diseñar, programar y entregar nuestros productos con la mayor fiabilidad en el menor plazo posible. Una de las principales técnicas utilizadas es la modularidad, que la juez Kollar-Kotelly parece empeñada en convertir en un término popular. Consiste sencillamente en dividir una aplicación en fragmentos más pequeños, que puedan reutilizarse entre proyectos, y que sean independientes unos de otros, en la medida de lo posible.

Un ejemplo de los problemas que acarrea diseñar un programa sin considerar la modularidad nos lo dio Netscape hace pocos años. Tras las populares versiones 4.x de su navegador, decidió abrir el código para permitir a programadores de todo el mundo participar en él y, de este modo, seguir en la lucha con Microsoft por la primacía del sector. Sin embargo, el código se había escrito de forma monolítica, sin modularizar (y discúlpenme el vocablo). De modo que para permitir la inclusión de nuevas características decidieron tirar todo lo realizado hasta entonces a la basura y partir de cero. Las nuevas versiones 6.x no conservan nada de las antiguas, porque el mal diseño de éstas impidió la inclusión de nuevas mejoras.

Si Microsoft se empeña en seguir manteniendo que Windows no es modulable, estaríamos descubriendo que el software más popular de la historia de la informática está mal diseñado. Dicho de otra manera, sus abogados están intentando decirnos que los ingenieros de la compañía de Redmond son unos incompetentes. Ardua labor la de la juez el decidir si son inútiles o mentirosos.


Daniel Rodríguez Herrera es editor de Programación en castellano.

En Tecnociencia

    0
    comentarios