La lógica más simple nos dice que a medida que los ordenadores son más potentes, las aplicaciones deberían aumentar su velocidad media. Sin embargo, hay muchas tareas que aparentemente no han aumentado su rendimiento. Es decir, nos da la sensación que al hacerlas estas no se ejecutan mejor que con nuestro anterior PC. Este fenómeno se le llama coloquialmente Ley de Wirth. ¿Por qué sucede?
En informática existe la llamada Ley de Moore, la cual hace referencia a la complejidad de los chips y no a la velocidad de los mismos. También estuvo durante mucho tiempo la Ley de Amdahl, hasta que a mediados de los 2000 se tuvo que hacer el salto a chips con varios núcleos. Todas ellas son leyes, se basan en el hardware, sin embargo, la tarea de este es ejecutar software y en cuanto a rendimiento las malas prácticas a la hora de programas pueden enviar al traste los aumentos de rendimiento.
¿Qué es la Ley de Wirth y cómo afecta al rendimiento de mi PC?
A medida que los recursos de hardware se han vuelto casi infinitos, la necesidad de escribir buen código se ha ido perdiendo. Lo importante no es que un programa funcione, sino que lo haga usando los menores recursos posibles del hardware. Ya sea tamaño de memoria o potencia del procesador. El problema viene por el hecho que a medida que el rendimiento del hardware aumenta, problemas que antes se solventaban con una buena disciplina a la hora de programar se están obviando cada vez más y es un problema que no solo afecta al PC o a los móviles.
Así pues, nos encontramos con el problema que aplicaciones que deberían consumir una porción de los recursos que gastan terminan siendo como galletas para el famoso monstruo azul de Barrio Sésamo. Ahora bien, el nombre de la ley se lo debemos a Niklaus Wirth, quien en febrero de 1995 escribió un artículo titulado A Plea for Lean Software que se podría traducir como «una petición para un software más limpio».
Digamos que con cada nueva iteración, las malas prácticas, hacen que a medida que se aumenta la capacidad de procesamiento de los procesadores más pesados y poco eficientes se hacen los programas. Tomad por ejemplo Microsoft Word, el 99% de las personas lo sigue usando como hace 20 años. Sin embargo, el tamaño de la aplicación ha crecido enormemente y los PC de entonces no podrían ejecutar bien la nueva versión.
¿Es algo inevitable?
Realmente no, solo hace falta ejecutar versiones más antiguas de los programas para ganar rendimiento. Aunque os parezca una tontería, a veces tirar de versiones antiguas a través de Abandonware para realizar ciertas tareas es mucho mejor que no usar las versiones más nuevas. Y la Ley de Wirth no solamente se da en aplicaciones comunes. Hemos podido ver como ciertos relanzamientos de juegos que son versiones remasterizadas de juegos de antaño acaban teniendo un rendimiento paupérrimo para el nuevo hardware.
Por lo que la culpa de que ciertas cosas no parezcan ir más rápidas no es por el hecho que los PC no se hayan enlentecido de golpe o nos estén dando gato por liebre en cuanto a rendimiento. La culpa es por el software, que ha dejado de optimizarse y con ello se ha vuelto menos eficiente. Muchas empresas han dejado de tener departamentos de calidad, los cuales son gente que revisa que el código esté bien escrito y optimizado. Una buena aplicación no solo funciona, sino que lo hace usando los menores recursos posibles.
¿Y por qué ocurre esto? Por el hecho que se imponen fechas límite y lanzamientos que dependen de los departamentos de ventas. Al fin y al cabo el software se puede actualizar y parchear. El problema es que muchas aplicaciones que nos pensamos que funcionan bien, en realidad lo están haciendo peor de lo que deberían.