Así Habló el Maestro Programador:

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

3.1

Había una vez un hombre que fue a una feria de ordenadores. Cada día al entrar, el hombre le decía 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 grandemente al guardia, porque dentro había millones de dólares en ordenadores 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 le llevó a un lado y buscó en sus ropas, pero no había nada que encontrar.

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 en vano.

El último día de la feria, el guardia no pudo reprimir su curiosidad por más tiempo. “Señor Ladrón,” dijo, “Estoy tan perplejo, que no puedo vivir en paz. Por favor, acláremelo. ¿Qué es lo que está robando?”.

El hombre sonrió. “Estoy robando ideas,” dijo.

3.2

Había una vez un maestro programador que escribía programas no estructurados. Un novicio programador, 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

Había una vez un programador que estaba agregado a la corte del Señor de la Guerra de Wu. El Señor preguntó al programador: “¿Qué es más fácil de diseñar: un paquete de facturación o un sistema operativo?”.

“Un sistema operativo,” respondió el programador.

El Señor soltó una exclamación de incredulidad. “Seguramente un paquete de facturación es trivial comparado con la complejidad de un sistema operativo,” dijo.

“No es así” dijo el programador, “cuando diseña un paquete de facturación, el programador opera como un mediador entre gente que tiene diferentes ideas: cómo debe funcionar, cómo deben aparecer sus informes, y cómo debe ajustarse a los impuestos legales. En contraposición, un sistema operativo no está limitado por apariencias externas. Cuando diseña un sistema operativo, el programador busca la armonía más sencilla entre máquina e ideas. Este es el porqué un sistema operativo es más fácil de diseñar.”

El Señor de la Guerra 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 director fue al maestro programador y le mostró el documento de requerimientos para una nueva aplicación. El director le preguntó al maestro: “¿Cuánto tiempo costaría diseñar este sistema si se lo asigno a cinco programadores?”.

“Le llevará un año,” dijo el maestro al momento.

“¡Pero necesitamos este sistema inmediatamente si no 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.