[pyar] Revisando mis picas con Python
Julio Cesar Gazquez
juliogazquez en yahoo.com.ar
Dom Jun 6 21:42:27 ART 2010
No, no estoy con ánimos masoquistas... Pero sí es cierto que durante años
esquivé Python por cosas que no me gustaban, una la sintaxis, no es
simplemente que me gusten las llaves (a mi hijo también, durante 3 días no
pudimos salir al patio hasta la encontramos), creo que cualquiera que haya
visto pegado en un foro un snippet de Python destrozado, que te deja
rascándote la cabeza preguntándote donde termina ese for, me entenderá.
Pero no es por la identación que escribo, es por otros motivos que, si bien
ahora, con algo así como 1 año y medio (por lo menos) desde que empecé a usar
Python con alguna asiduidad, comprendo mejor el lenguaje y los porqués. Otros
lenguajes tienen decisiones de diseño similares, si bien en una u otra forma
hay demostrado algún arrepentimiento, como pasa en PHP y Perl[1].
Me explico: Me gustan las cosas bien definidas. Me gustan las declaraciones de
variables, si ese token aparece en una expresión es porque primero dije que
podía aparecer allí. Me gusta que si las variables han de manejar determinado
tipo de datos, esto esté explícito. Y por supuesto, me gusta que cuando los
primeros síntomas de demencia senil se cuelan en el código, el compilador y/o
intérprete no me lo deje pasar.
Ahora, la intención no es que me recomienden programar en Pascal o en Java[1]
:-) Pero quiero que me digan como hace un veterano programador Python para
aliviar estas cosas. Dos ejemplos rápidos, el otro día quería daemonizar un
thread, estaba mirando la doc de Python 2.6 pero estaba usando 2.5, puse
mithread.daemon=True
en lugar de
mithread.setDaemon(True)
y estuve un día completo hasta que me di cuenta que pasaba. Otra, por no mirar
bien en lugar de poner en un report de Geraldo
milabel.style= {'alignment':TA_RIGHT }
puse
milabel.alignment=TA_RIGHT
Por supuesto, fueron errores míos, pero no es posible no cometer errores o
estar siempre con toda la concentración deseable. Por otra parte errores como
estos muchas veces son difíciles de detectar.
En conclusión, ¿que recomendación puede darme un Python evangelist ante
problemas como éstos, o ante variables mal escritas, o cualquier tipo de
problema adjudicable al hecho de que cualquier asignación a un atributo o
variable no existente en Python alegremente crea una variable o atributo
nuevos?
Gracias desde ya.
PD: Podría dar mi opinión sobre el duck typing, pero mejor no revuelvo más el
avispero :-P
[1] PHP5 opcionalmente permite declarar los tipos de los argumentos de las
variables. Perl con "use strict" hace obligatorio la declaración de variables.
[2] No me disgusta Pascal, pero no es algo que me interese usar en este
momento. Java en teoría debería haber sido un buen lenguaje. Lástima que la
práctica lo desmiente, en particular por las bibliotecas. En realidad si
quieren saber donde me tendrían que mandar por la osadía de bardear a Python,
péguense una vuelta por http://pike.ida.liu.se. Lástima que para que se hagan
idea de la popularidad del lenguaje, el movimiento de la lista de PyAr es un
nivel de magnitud mayor al de la lista (única) de Pike.
--
Saludos,
Julio César Gázquez
More information about the pyar
mailing list