Many thanks to Tristan Morris for creating a beautiful illustrated hardcover print edition of the site |
|||||||||||||
Un monje aprendiz le dijo al maestro Kaimu, “He oído que es preferible tener sólo una única declaración de return en una función. ¿Estás de acuerdo?” Kaimu preguntó, “¿Donde está tu tazón?” El monje se disculpó y se fue a tomar su tazón. Cuando el monje volvió, mostró su tazón al maestro y dijo, “He oído que es preferible tener sólo una única declaración de return en una función. ¿Estás de acuerdo?” Kaimu preguntó, “¿Por qué no hay arroz en tu tazón?” El monje se disculpó y se fue a tomar algo de arroz. Cuando el monje volvió, mostró su tazón lleno de arroz blanco humeante al maestro y dijo, “He oído que es preferible tener sólo una única declaración de return en una función. ¿Estás de acuerdo?” Kaimu tomó el tazón del monje y lo colocó en su escritorio. “Tú hablas de un principio de diseño muy venerable, conocido como Entrada Única, Salida Única,” dijo el maestro. Luego le contó al monje de los gloriosos días pasados de la codificación, cuando la memoria era baja, el hardware era lento, y los recursos debían ser manejados con cuidado. “Porque C no te hacía favores,” dijo Kaimu, “y Assembly hacía sólo la mitad. Así que si tu función pedía prestada una cosa, entonces tenía que devolverla. ¿Y como se hacía de la forma más fácil? Poniendo todo el código de limpieza en un lugar, al fondo de la función... una tradición que sigue hasta hoy.” Kaimu luego habló del nacimiento de los objetos, los destructores y los finalizadores. Habló también del Recolector de basura; del conteo de referencias y del recolector de marcas, y de compiladores que podían distinguir cuando un objeto estaba fuera del alcance. Él habló de buffers que crecían cuando se necesitaban y se desvanecían cuando no, de archivos que se cerraban por sí solos, de pools de conexiones y de pools de hilos y de try-with-resources, y de que tan maravilloso y mágico era el bestiario moderno de lenguajes, donde los monjes podían dedicar sus energías a problemas más interesantes en vez de molestarse con malloc y free y goto fail. “Sí,” dijo el monje cansado al fin. “¿Pero estás de acuerdo con el principio de diseño de Entrada Única, Salida Única, o no?” Kaimu miró abajo y dijo, “¿Por qué el arroz en tu tazón es blanco, y no marrón?” Traducido por Gonzalo Alcalde. Un extracto de The Codeless Code, por Qi (qi@thecodelesscode.com). Distribuido bajo la Creative Commons Attribution-NonCommercial 3.0 Unported License. |