Читать книгу El gran libro de Python - Marco Buttu - Страница 34
El Zen de Python
ОглавлениеEl 3 de junio de 1999, Patrick Phalen envió un mensaje a la python-list, titulado The Python Way. En él básicamente sugería a Guido van Rossum y Tim Peters escribir un documento con 10 o 20 aforismos que pudieran resumir el espíritu del lenguaje, una especie de Zen de Python:
¿Estarían dispuestos Guido e Tim Peters a colaborar en la elaboración de un breve documento -- llamémoslo “The Python Way” en ausencia de un título mejor -- que contenga 10 o 20 líneas para guiar a aquellos que se acercan a Python desde otros lenguajes, y que quieren conocer inmediatamente la manera de utilizarlo de forma correcta en aquellas situaciones más insidiosas (aplicar el cierre, etc.)?
Yo pensaba en un tipo de introducción muy breve, una especie de "Elementos de Estilo" de Strunk & White para Python, que listara las típicas recomendaciones fundamentales para escribir el código según el espíritu del lenguaje. Estoy hablando de una especie de Zen de Python -- algo a lo que acudir y consultar cuando aparecen demasiadas lamentaciones del tipo “fix Python now”.
Mensaje original:
http://mail.python.org/pipermail/python-list/1999-June/014096.html.
Al día siguiente, Tim Peters respondió a Patrick listando 19 aforismos y terminó diciendo:
Aquí están: exactamente 20 tesis pythónicas, contando la que dejo que escriba Guido. Si las respuestas a cualquier problema de diseño con Python no resultan obvias después de haberlas leído, entonces me retiro.
Mensaje original:
http://mail.python.org/pipermail/python-list/1999-June/001951.html.
El número 20 nunca ha llegado, y estos 19 aforismos han sido recogidos en la PEP-0020, The Zen of Python, escrita en 2004 por el mismo Tim Peters.
NOTA
Otro importante documento, que indica las directrices de comportamiento, es el Code of Conduct (Código de conducta), aprobado en abril de 2013 por la PSF. A diferencia del Zen de Python, que se centra en el código, el código de conducta pone su atención en el comportamiento para mantenerse en la comunidad Python; más concretamente, describe a un miembro de la comunidad Python como: abierto (open), considerado con los otros miembros (considerate) y respetuoso (respectful). El documento se encuentra disponible en la página: http://www.python.org/psf/codeofconduct/.
El módulo this de la librería estándar también está dedicado al Zen. En realidad, este módulo es más que un simple reclamo a los 19 aforismos: es un huevo de Pascua. Está escrito de manera que se pueda visualizar el Zen cuando se importa y, al mismo tiempo, que represente un claro ejemplo de aquello que no se debe hacer.
El origen del módulo this se remonta al año 2001, cuando, en ocasión de la décima International Python Conference (todavía no existía la Python Conference – PyCon), se estaba buscando un eslogan para estampar en las camisetas. Había distintas propuestas, pero al final la elección recayó en import this. Una vez elegido el eslogan, solo faltaba implementar un módulo denominado this. Y este fue el resultado:
Dudo que alguien entienda el significado de todo esto. El módulo ha sido escrito especialmente así, como ejemplo para dar a entender la importancia de seguir el Zen de Python:
Y esta es la traducción en español:
Si la validez de estas reglas nos ha convencido, podemos pasar a la siguiente sección; en caso contrario, será mejor que continuemos leyendo:
Python, además, sigue la conocida filosofía de Unix, doing one thing well, según la cual cada programa debe realizar una única cosa, pero bien hecha. Sin embargo, hacer una cosa bien no significa hacerla perfectamente. La perfección en el mundo real no existe, por lo que, según la frase la practicidad vence a la pureza, debemos hacer las cosas bastante bien, como sugiere también Alex Martelli en su charla titulada Good enough is good enough: http://pyvideo.org/video/1738/good-enough-is-good-enough.