The cave of Daniel the Gray
(nothing to hack here)
$ cd ..

El Maestro Foo y el Prodigio de la Programación

(tomado de http://catb.org/esr/writings/unix-koans/prodigy.html y traducido el día 2017-02-18)

Hubo un tiempo cuando empezaron a llegar al Maestro Foo y a sus alumnos rumores de un programador prodigiosamente talentoso, un joven que había paseado por el largo y ancho del país realizado poderosas hazañas de codificación y humillando a todos los que se atrevía a medir su habilidad contra la de él.

Finalmente, este prodigio vino a visitar al maestro Foo, quien lo recibió cortésmente y le ofreció té. El Prodigio aceptó con la misma cortesía y explicó el motivo de su visita.

“He venido a usted”, dijo, “buscando una revisión del código y diseño de mi último proyecto… debido a que tiene complejidad incomparable, y no tengo colegas capaces de entenderlo. Sólo un maestro reconocido como usted…”, y el Prodigio hizo una profunda reverencia, “…puede tener el discernimiento que se requiere.”

El maestro Foo hizo otra reverencia cortés en respuesta y empezó a examinar el código del Prodigio. Después de algún tiempo, levantó sus ojos de la pantalla. “Este código es, a primera vista, muy impresionante”, dijo. “Es elegante en su diseño, utilizando algoritmos originales de gran ingenio, y parece estar implementada de un modo artesanal que minimiza la posibilidad de errores”.

El Prodigio parecía estar muy contento con este elogio, pero el maestro Foo continuó: “Sin embargo, detecto una falla significativa”.

“¿Falla?”, dijo el Prodigio. “¿Qué falla?”

“Este código es difícil de leer”, dijo el maestro Foo. “Está solamente superficialmente comentado, sus invariantes no están especificados, y no veo una descripción narrativa de su arquitectura o estructuras de datos internas en ninguna parte. Estos problemas impedirán seriamente tu cooperación con otros programadores.”

El Prodigio se irguió orgullosamente. “No busco la cooperación de otros programadores”, dijo. “Cada vez que pensaba que había hallado a uno que puede igualarme en habilidad, me he decepcioando. Por eso, trabajo solo”.

“Incluso el hacker que trabaja solo”, dijo el maestro Foo, “colabora con otros, y debe constantemente comunicarse claramente a ellos, para que su trabajo no caiga en la confusión y el olvido.”

“¿A qué otros se refiere?”, preguntó el Prodigio.

El maestro Foo dijo: “Todas las versiones futuras de ti.”

Al escuchar esto, el Prodigio fue iluminado.