[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