El Zen de Python –que fue redactado en junio de 1999 por Tim Peters, un ingeniero informático–, es una colección de veinte máximas de software que inciden en el diseño del Lenguaje de Programación Python, de las cuales solo me constan diecinueve, en tanto se me escapa la última, ya que, fuera de un mensaje oculto, ignoro qué es en informática un huevo de pascua (al que apela) y qué comprende este.
Yo, que no soy programador de máquinas sino un literato que escribe para las personas, lo ignoro todo de ese y cualquier otro lenguaje de programación de artefactos, mas si traigo al Zen de Python al caso es porque, por los paralelismos que caben establecerse para con la redacción literaria de cara al lector, me parece un muy interesante compendio de principios encaminado a clarificar desde el emisor los presupuestos a que debe atenerse la redacción de un mensaje para que sea bien recibido, tal dice así:
- Bonito es mejor que feo.
- Explícito es mejor que implícito.
- Simple es mejor que complejo.
- Complejo es mejor que complicado.
- Plano es mejor que anidado.
- Disperso es mejor que denso.
- La legibilidad cuenta.
- Los casos especiales no son tan especiales como para quebrantar las reglas.
- Aunque lo práctico vence a la pureza.
- Los errores nunca deberían silenciarse o pasarse por alto.
- A menos que esté explícitamente silenciado o pasado por alto.
- En caso de ambigüedad, rechaza la tentación de adivinar.
- Tendría que haber un –y preferiblemente únicamente uno– camino obvio para hacerlo.
- Aunque ese camino puede no ser obvio la primera vez, a menos que seas holandés.
- Ahora es mejor que nunca.
- Aunque nunca es, en algunos casos, mejor que ahora mismo.
- Si la implementación es difícil de explicar, es una mala idea.
- Si la implementación es fácil de explicar, puede que sea una buena idea.
- Los namespaces (o espacio de nombres) son una gran idea –¡hagamos más de tales!
Desde la perspectiva literaria tales principios pueden ser contemplados y rebatidos o afirmados; así, en general, subscribo los siete primeros, con la salvedad de que dejo al propio texto la potestad para decidir si explícito mejor que implícito, si disperso es más adecuado que denso o al revés; si simple, complejo o complicado, plano o anidado; ya que en la literatura caben infinidades de recursos que bien administrados funcionan. El de la legibilidad cuenta, lo respaldo totalmente, así como el de bonito mejor que feo, en tanto la mente tiende a amar la belleza, la cual tiene el poder de fascinarnos. En cuanto a la ruptura de las reglas entiendo que, si se sabe hacer, puede tener perfecta cabida en tanto, como reza el siguiente principio, «lo práctico vence a la pureza», aunque en literatura se admiten excepciones, que no errores o gambas que puedan confundir al lector; tales no tienen cabida alguna; son garrafales errores a subsanar.
Los errores nunca deberían silenciarse o pasarse por alto. A menos que esté explícitamente silenciado o pasado por alto.
Como cabe apreciarse, pongo muy en entredicho el ca-non que tomo como referente, en tanto comparo el lenguaje humano, con el que nos entendemos las personas, con el de máquina y cómo nos las entendemos taxativamente con los trastos.
En caso de ambigüedad, rechaza la tentación de adivinar.
Desde el punto del vista del Autor, la generación de ambigüedad puede responder a un paradójico o poético juego literario; mientras que desde la orilla del Lector depende de tal su particular consideración; y como Autores se debe contar con ello. No es lo mismo escribir para una máquina que para una persona, aunque ya defendí en otro artículo que el Lector es un constructo del Autor.
Tendría que haber un –y preferiblemente únicamente uno– camino obvio para hacerlo. Aunque ese camino puede no ser obvio la primera vez, a menos que seas holandés.
Un camino obvio, y a ser posible cómodo, para desentrañar las ambigüedades, una luz con la que discernir, se sea o no holandés, águila o cangrejo.
Ahora es mejor que nunca. Aunque nunca es, en algunos casos, mejor que ahora mismo.
Solamente hay dos días en el año en que no se puede ha-cer nada –nos dice el Dalai Lama–: uno se llama ayer, el otro mañana.
Si la implementación es difícil de explicar, es una mala idea. Si la implementación es fácil de explicar, puede que sea una buena idea.
Partiendo de que todo constructo literario es una implementación mental, si ésta es difícil de explicarse requiere de más o menos sofisticadas herramientas accesorias, en tanto que si es fácil resulta muy cómoda, pero no por ello necesariamente buena o adecuada; generalmente, lo bueno no es fácil.
Me da por pensar en el juego del billar.
Los namespaces son una gran idea –¡hagamos más de tales!
Para mí, como literato que entiende su producción literaria como un catálogo de verdaderas píldoras de programación neurolingüística, un namespace es un texto con entidad propia, generalmente una muy determinada palabra, si no una frase, un párrafo, un capítulo o una obra completa, una gran idea. ¡Hagamos más, sí!
Be First to Comment