[pyar] Desarrollo Comentado: Dia 1

Juan Manuel Santos vicariousdm en gmail.com
Jue Dic 22 23:06:20 ART 2011


> Bueno después de un día con poca agua y energía eléctrica
> Acá van los pobres :( resultados del día
> 
> Empecemos por lo bueno, hace raro que tenia curiosidad como se encara
> un proyecto de software libre. Buscando otra cosa encontré un libro:
> Producing Open Source Software de Karl Fogel se puede bajar en [0]
> tiene una traducción incompleta al castellano, anduve leyendo una
> parte de la versión en ingles y me resulto bastante interesante.
> 
> Hoy baje la RFC relacionadas con el IRC y elegí una librería, es media
> viejita, no creí  que eso fuera ser un problema pero la erre:
> La eleccion fue Pyirc [1], la elegi por que tiene poca documentación
> (a ver si aprendo a darme maña), es chica y funciona por eventos. Pero
> fallo casi de entrada
> 
> Lo que ejecutaba en el dreampie era:
> 
> import pyIRC
> irc = pyIRC.pyIRC('irc.freenode.net', 6667, 'pablo2m', 'pmm')
> irc.connect()
> 
> Y obtenía un error, al mirar una version anterior vi que se agrego a
> la definición de connect dos lineas
> 
> self.thread = pingThread() # el error dice NameError: global name
> 'pingThread' is not defined
> self.thread.start()
> 
> y no hay un import threading, ¿alguien tiene idea  si al autor se le
> olvido algo?
> 
> Bueno ahora la duda conceptual del dia, tengo pensado como hacer lo
> siguiente por un lado tener la librería y lo que hace el trabajo
> complicado y por otro la interfaz, la duda es como lograr la
> comunicación lo primero que se me ocurre es usar los sockets pero no
> se si esto tiene alguna contraindicacion importante.
> 
> Saludos.
> Pablo M. Mana
> 
En un lenguaje de alto nivel (como Python) no te conviene meterte con cosas de 
bajo nivel (como sockets), salvo que sea estrictamente necesario (ya sea 
porque querés aprender bien bien cómo se hace, o por cuestiones de performance 
en donde tenés que exprimir hasta la última gota, o cosas así).

En Python la mayoría de las cosas que necesitás ya están hechas (don't 
reinvent the wheel ;)). Mi recomendación es que si bien una librería como 
Twisted asusta un poco, te metas con algo así, bien armado, con buen soporte y 
mucha documentación. Es preferible pecar por el lado de mucha doc que del lado 
de poca doc (es un terrible dolor de cabeza tener que ponerte a mirar el 
código de la librería porque no encontrás doc. Se puede hacer y Python es muy 
sencillo de leer, pero uno no quiere leer código ajeno, quiere escribir el 
propio :)).



More information about the pyar mailing list