closures

Gabriel Genellina gagsl-py2 en yahoo.com.ar
Lun Jul 23 23:08:22 CEST 2007


En Mon, 23 Jul 2007 09:42:55 -0300, Chema Cortes <pych3m4 en gmail.com>  
escribió:

> El 23/07/07, Carles Pina i Estany <carles en pina.cat> escribió:
>>
>> Parece que con generadores, paso de argumentos, etc. casi siempre puedo
>> hacer lo mismo...
>
> En una entrevista a Yukihiro Matsumoto, el creador de ruby, reconocía
> que las clausuras "verdaderas" no daban muchas más ventajas que si se
> copiara internamente las variables, que si las había incluído en ruby
> era por ser fiel a la cultura Lisp:
>
>   http://www.artima.com/intv/closures2.html (al final de la entrevista)
>
>
> Te puedo asegurar que hay cierto abuso de las cláusulas. Si cuentas
> con un lenguaje de programación orientado a objetos, lo lógico es
> emplear la abstracción de datos para encapsular los datos junto con
> las funciones que los procesan.

Claro, algunos sostienen que las clausuras son los objetos del pobre (se  
comportan como un objeto con un unico metodo, __call__ en terminos  
pythonescos). Y otros sostienen que los objetos son las clausuras del  
pobre (una clausura puede tener multiples formas de despachar mensajes, no  
solo la única que te provee un lenguaje orientado a objetos). En este  
mensaje hay una famosa historia corta sobre el tema  
<http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/msg03277.html>  
y aca hay una traducción  
<http://barrapunto.com/comments.pl?sid=70285&op=&threshold=1&commentsort=0&mode=thread&pid=903049#903071>.  
Aunque no me gusta mucho como quedó, asi que aca va otro intento (las  
metidas de pata de esta traduccion son mías):

"""
El venerable maestro Qc Na paseaba con su discípulo, Anton. Con la  
esperanza de interesar a su maestro en una discusión, Anton dijo:  
"Maestro, he oído que los objetos son una muy buena cosa, ¿es eso  
cierto?". Qc Na miró con lástima a su discípulo y respondió: "Alumno  
tonto, los objetos son nada más que las clausuras del pobre".

Regañado, Anton se separó de su maestro y volvió a su celda, con la  
intención de estudiar clausuras. Cuidadosamente leyo la serie completa de  
artículos "Lambda: The Ultimate..." y sus parientes, e implementó un  
pequeño intérprete Scheme con un sistema de objetos basado en clausuras.  
Aprendió mucho, y se dispuso a informar a su maestro de su progreso.

En su siguiente caminata con Qc Na, Anton quiso impresionar a su maestro  
diciendo "Maestro, he estudiado el tema con gran detenimiento, y ahora  
entiendo que los objetos son verdaderamente las clausuras del pobre". Qc  
Na respondió golpeando a Anton con su bastón, diciendo "¿Cuándo  
aprenderás? Las clausuras son los objetos del pobre". Y en ese momento,  
Anton logró la iluminación.
"""

(Original por Anton van Straaten).

-- 
Gabriel Genellina

------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es