Siguiendo con nuestro artículo sobre la ley de Wirth y algunos puntos que explica esta teoría, veremos las dos anteriormente mencionadas con especial hincapié en la segunda. Como se ha dicho anteriormente, los comentarios de Wirth sobre el software llamaron la atención del público en general. Mientras que los defensores de la ley de Moore estaban bastante emocionados sobre la evolución del hardware y como de rápido se desarrollaría en los siguientes meses y años, Wirth seguía diciendo a todo el mundo que pensara un poco en como funcionaba realmente este tema.
Aunque el hardware puede que se está desarrollando más rápido, eso no significa necesariamente que el trabajo que estás haciendo tenga que estar haciéndose más deprisa. Basándonos en sus comentarios, está claro que la idea de Wirth se centra en el software, no en el hardware. ¿Qué significa exactamente cuando se dice que el software se está volviendo más lento de forma más rápido de lo que el hardware esta incrementando su velocidad?
Aunque puede sonar algo lioso y puede que lo tengas que leer más de una vez para entenderlo, el concepto es claro. Lo que dice Wirth es que aunque la velocidad de procesamiento ha ido aumentando a través de los años y lo continúa haciendo, el software que hace funcionar nuestras aplicaciones no es mucho más rápido – y lo cierto es que algunas veces es más lento – que el software más antiguo que lleva funcionando algunos años.
Un ejemplo de esto lo podemos encontrar en un procesador de texto de los años setenta. Por aquel entonces, uno de estos procesadores solo necesitaba unos cuantos miles de bytes para poder funcionar correctamente, lo cual es una cantidad ridícula de memoria comparada a los estándares de hoy en día.

Los procesadoresde texto que utilizamos hoy necesitan cientos de veces más almacenamiento para poder realizar la misma tarea. La única razón por la que podemos utilizar estos programas es por el aumento de la velocidad de procesamiento que viene de la ley de Moore.
Esta situación, según Wirth, no es deseable en términos de diseñar eficiencia. Si nos fijáramos más en como hacemos y usamos un software, la cantidad de trabajo que un procesador hace y el número de cálculos que se realizan para hacer funcionar un programa, la cosas se vería de otra manera. Wirth atribuye los problemas de rendimiento con el software de hoy en día con el aumento de complejidad en las aplicaciones de software que tenemos en este momento.
Esto se acerca a su declaración de “El software se expande para llenar la memoria disponible”. Al estar los fabricantes de ordenadores aumentando la potencia de procesamiento y la cantidad de memoria que los ordenadores pueden soportar, los desarrolladores de software simplemente añaden más complejidad a los programas para que puedan hacer más cosas – y eso es exactamente lo que hacen.
¿Por qué está ocurriendo este estancamiento en el software? Hay dos razones generales según Wirth, de que el desarrollo de software se ha quedado atrás de la velocidad del hardware. Una es el usuario – los usuarios de ordenador en general que usan las aplicaciones regularmente.
Otra es el distribuidor de software o la gente que está desarrollando el software y eligiendo como todo se organiza. Por supuesto, estos dos factores no trabajan de una forma independiente, y de hecho se juntan para crear una relación dependiente una de la otra.
En primero lugar, es la complejidad de ciertas funciones en las aplicaciones de software, que complica las cosas demasiado. Wirth considera cosas en nuestros ordenadores que nosotros normalmente aceptamos como rutina – como pueden ser los bonitos iconos que nos podemos en nuestra pantalla y otras decoraciones que realmente son innecesarias. Los usuarios esperan todas estas representaciones en sus sistemas operativos ya que es principalmente parte de la forma que tenemos de manejar nuestro ordenador. Claro está, muchas de las cosas “innecesarias” resultan muy atractivas al usuario, y lo que le gusta al usuario es lo que ofrecen las compañías cuando producen el software.
Según los usuarios piden funciones más complejas y elaboradas, los desarrolladores publican cualquier tipo de software que contiene un número de complejidades que pueden estar en demanda. Esto crea una dependencia en el servicio al cliente.
En lugar de tomarse tiempo para aprender como usar realmente una aplicación, mucha gente aprende lo básico y suele pedir ayuda a otros en funciones más complejas. Por lo tanto, si la ley de Wirth es exacta, la solución para este problema es acortar la dependencia en la ley de Moore. Esto se conseguiría reduciendo elementos de diseño dentro del software. Cuantos menos cálculos tenga que hacer un chip de ordenador en un lenguaje de programación, más eficiente será el trabajo que hagamos.