Así Habló el Maestro Programador:

«Cuando se está probando el programa, es demasiado tarde para hacer cambios de diseño».

3.1

Hubo una vez un hombre que fue a una feria de computadoras. El primer día al entrar, le dijo al guardia de la puerta: «Soy un gran ladrón, famoso por mis hazañas en el robo. Está avisado, porque esta feria no escapará a mi saqueo».

Estas palabras preocuparon enormemente al guardia, porque dentro había millones de dólares en computadoras y equipos, así que vigiló al hombre cuidadosamente. Pero el hombre simplemente paseaba de pabellón en pabellón, canturreando tranquilamente para sí.

Cuando el hombre salió, el guardia lo apartó a un lado y buscó entre sus ropas, pero no encontró nada.

Al día siguiente de la feria, el hombre volvió y sonrió al guardia diciendo: «Ayer escapé con un gran botín, pero hoy será incluso mejor». Así que el guardia le vigiló aún más de cerca, pero fue en vano.

En el último día de la feria, el guardia no pudo reprimir más su curiosidad. «Señor Ladrón», dijo, «estoy tan confundido que no puedo vivir en paz. Por favor, ilumíneme. ¿Qué es lo que está robando?».

El hombre sonrió. «Estoy robando ideas», dijo.

3.2

Hubo una vez un maestro programador que escribía programas no estructurados. Un programador novicio, buscando imitarle, comenzó también a escribir programas no estructurados.

Cuando el novicio pidió al maestro que evaluara sus progresos, el maestro le criticó por escribir programas no estructurados, diciendo: «Lo que es apropiado para el maestro no es apropiado para el novicio. Debes comprender el Tao antes de trascender la estructuración».

3.3

Hubo una vez un programador en la corte del Señor de Wu. El Señor preguntó al programador: «¿Qué es más fácil de diseñar: un paquete de contabilidad o un sistema operativo?».

«Un sistema operativo», respondió el programador.

El Señor soltó una exclamación de incredulidad. «Sin duda un paquete de contabilidad es trivial comparado con la complejidad de un sistema operativo», dijo.

«No tanto», dijo el programador, «al diseñar un paquete de contabilidad, el programador opera como un mediador entre personas con diferentes ideas: cómo debe funcionar, cómo deben aparecer sus informes, y cómo se deben cumplir las leyes fiscales. Por el contrario, un sistema operativo no está limitado por las apariencias externas. Al diseñar un sistema operativo, el programador busca la armonía más sencilla entre máquina e ideas. Es por esto que un sistema operativo es más fácil de diseñar».

El Señor de Wu asintió y sonrió. «Todo eso está muy bien, pero ¿en cuál es más fácil corregir errores?».

El programador no respondió.

3.4

Un gerente fue al maestro programador y le mostró el documento de requerimientos para una nueva aplicación. El gerente le preguntó al maestro: «¿Cuánto tiempo costaría diseñar este sistema si se lo asigno a cinco programadores?».

«Les llevará un año», dijo el maestro al momento.

«¡Pero necesitamos este sistema inmediatamente o incluso antes! ¿Cuánto tiempo llevaría si se lo asigno a diez programadores?».

El maestro programador frunció el ceño. «En ese caso, les llevará dos años».

«¿Y si se lo asigno a cien programadores?».

El maestro programador se encogió de hombros. «Entonces el diseño nunca será terminado», dijo.