Así Habló el Maestro Programador:
«Un programa bien escrito es su propio cielo; un programa mal escrito es su propio infierno».
4.1
Un programa debe ser ligero y ágil, sus subrutinas conectadas como un collar de perlas. El espíritu y la intención del programa debe mantenerse en todo momento. No debe haber ni poco ni demasiado, ni bucles innecesarios ni variables sin usar, ni falta de estructura ni rigidez abrumadora.
Un programa debe seguir la Ley del Menor Asombro. ¿Cuál es esta ley? Simplemente que el programa debe responder siempre al usuario de la forma que menos le sorprenda.
Un programa, sin importar su complejidad, debe actuar como una única unidad. El programa debe estar dirigido por la lógica interna y no por las apariencias externas.
Si el programa falla en estos requerimientos, se encontrará en un estado de desorden y confusión. La única forma de corregirlo es reescribir el programa.
4.2
Un novicio preguntó al maestro: «Tengo un programa que a veces funciona y a veces aborta. He seguido las reglas de programación, y aún así estoy totalmente desconcertado. ¿Cuál es la razón de esto?».
El maestro respondió: «Estás confuso porque no comprendes el Tao. Sólo un necio espera un comportamiento racional de sus semejantes humanos. ¿Por qué lo esperas de una máquina que los humanos han construido? Las computadoras simulan determinismo; sólo el Tao es perfecto. Las reglas de programación son transitorias; sólo el Tao es eterno. Por lo tanto debes contemplar el Tao antes de ser iluminado».
«¿Pero cómo sabré que he sido iluminado?», preguntó el novicio.
«Tu programa funcionará entonces correctamente», respondió el maestro.
4.3
Un maestro estaba explicando la naturaleza del Tao a uno de sus novicios, «El Tao está presente en todo el software, sin importar cuán insignificante sea», dijo el maestro.
«¿Está el Tao en una calculadora de bolsillo?», preguntó el novicio.
«Lo está», fue la respuesta.
«¿Está el Tao en un videojuego?», continuó el novicio.
«Lo está incluso en un videojuego», dijo el maestro.
«¿Y está el Tao en el sistema operativo de una computadora personal?».
El maestro tosió y cambió su posición ligeramente. «La lección se ha acabado por hoy», dijo.
4.4
El programador del Príncipe Wang estaba codificando software. Sus dedos bailaban sobre el teclado. El programa compiló sin un sólo mensaje de error, y el programa se ejecutó como una suave brisa.
«¡Excelente!» exclamó el Príncipe, «¡Tu técnica es intachable!».
«¿Técnica?», dijo el programador volviéndose desde su terminal, «Lo que sigo es el Tao, ¡más allá de todas técnica! Cuando al principio empecé a programar veía ante mí el problema completo como un bloque. Después de tres años ya no veía ese bloque, empecé a usar subrutinas. Pero ahora no veo nada. Todo mi ser existe en un vacío sin forma. Mis sentidos están ociosos. Mi espíritu, libre para trabajar sin un plan, sigue su propio instinto. En resumen, mi programa se escribe a sí mismo. Es ciertoque a veces hay problemas complejos. Los veo venir, reduzco la marcha, observo silenciosamente. Entonces cambio una única línea de código y las dificultades se desvanecen como bocanadas de humo. Entonces compilo el programa. Me siento tranquilo y dejo que la alegría del trabajo llene mi ser. Cierro los ojos un momento, y entonces cierro mi sesión».
El Príncipe Wang dijo, «¡Ojalá todos mis programadores fueran tan sabios!».
<_Libro Tres. Diseño
Libro Cinco. Mantenimiento_>
Original The Tao Of Programming (de Geoffrey James)