Tras varios meses usando intensivamente Windows XP, he decidido reinstalarlo porque iba más lento de lo normal y me daba muchísimos errores y problemas. Tras la instalación del sistema operativo y de los programas que suelo usar, el sistema ha mejorado sobremanera: se inicia en prácticamente la mitad de tiempo, no aparece ningún error, el consumo de memoria nada más iniciarse se ha reducido, los programas se inician más rápido, etc. Esto es debido a lo que yo considero los dos mayores errores de diseño del sistema operativo de Microsoft.
El primero de los fallos de los que adolece Microsoft Windows es que almacena toda la configuración del sistema, de las aplicaciones y de los usuarios en un lugar centralizado: el registro. El problema de esto es que cuando se instalan muchas aplicaciones/drivers, el registro se empieza a inflar de información que insertan estos. De forma que leerlo de disco es cada vez más costoso y consume más memoria tenerlo cargado. Peor aún, mucha de esta información no se elimina al desinstalar las aplicaciones.
Por otro lado están las DLL, que tienen muchas ventajas pero también tienen un gran inconveniente. Cada programa instala las versiones de las DLLs que necesita, pero muchas veces estas DLLs también son usadas por otros programas instalados previamente, que también esperan tener la versión para la que se desarrollaron, de forma que en el caso peor, si encuentran una versión diferente el programa no funciona correctamente (lo que es comúnmente llamado entre los desarrolladores como DLL hell o infierno de las DLL).
Con las aplicaciones desarrolladas en .NET este problema se ha medio solucionado gracias a un mayor control de las versiones o a la posibilidad de que cada programa mantenga sus DLLs en el mismo directorio donde tiene su ejecutable, pero todavía hay pocos programas que estén desarrollados exclusivamente en .NET (muchas veces usan alguna DLL o control no desarrollado en .NET).
Debido a estos dos errores de diseño, el rendimiento del sistema se va degradando conforme instalamos y usamos más aplicaciones, de forma que los usuarios que usamos intensivamente Windows acabamos tomando la triste costumbre de reinstalar Windows cada pocos meses.
Aunque no he trabajado seriamente con Mac OS o con Linux tengo entendido que en estos sistemas operativos no existen estos problemas. En Linux todas las configuraciones se guardan en diferentes archivos de texto. En Mac OS los programas se instalan con simplemente arrastrar un único archivo que contiene todo lo necesario; no requiere DLLs, ni instalables, ni nada parecido. Ningún sistema operativo es perfecto y seguramente los usuarios habituales de Mac OS y de Linux tengan otros problemas diferentes, pero considero que, en los aspectos que he comentado en este artículo, Microsoft debería aprender de sus competidores.