Donar $20 Donar $50 Donar $100 Donar mensualmente
 


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
Orden Superior en Smalltalk
Autor Mensaje
Baron Bomadil Sin conexión
Militante
We are out of coffee
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 92
Agradecimientos dados: 17
Agradecimientos: 9 en 9 posts
Registro en: Jul 2013
Mensaje: #1
Orden Superior en Smalltalk Dudas y recomendaciones Paradigmas de Programación
Preguntonta: ¿Se puede asumir que un método es de orden superior porque recibe un bloque como parámetro?

No se qué contestar en caso de que me pregunten esto en el final, lo primero que pensé es si, pero después pensé, en Smalltalk un bloque es un objeto, no es un mensaje, por ende el método esta recibiendo otro objeto, por más que ese objeto sea código sin ejecutar, entonces no hay orden superior, es un método recibiendo un objeto como parámetro.

am i right?
17-12-2013 15:39
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
.py Sin conexión
Presidente del CEIT
gone
********

Análisis de Sistemas
Facultad Regional Buenos Aires

Mensajes: 4.226
Agradecimientos dados: 5
Agradecimientos: 128 en 84 posts
Registro en: Sep 2008
Mensaje: #2
RE: Orden Superior en Smalltalk
Un bloque es una funcion?

[Imagen: 9zsRG7X.gif]
17-12-2013 15:46
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
rm1216 Sin conexión
Campeon del cubo Rubik
ljhglhgñlkj
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 122
Agradecimientos dados: 77
Agradecimientos: 8 en 6 posts
Registro en: Dec 2011
Mensaje: #3
RE: Orden Superior en Smalltalk
Técnicamente no es orden superior, aunque creeo que si lo pones en el final te lo aceptan (lo leí en la wiki de pdep si mal no recuerdo). Otra cosa que se puede considerar orden superior es cuando un objeto le manda un mensaje a otro objeto pidiéndole que haga algo que no sea una acción simple (como enviar un dato, por ejemplo). No se si me explico. De todas formas si lo podes justificar creo que te lo tendrían que tomar como bien
17-12-2013 15:56
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] rm1216 recibio 1 Gracias por este post
Baron Bomadil (17-12-2013)
Desert69 Sin conexión
Presidente del CEIT
Sin estado :( / "Anarquia...
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 2.396
Agradecimientos dados: 202
Agradecimientos: 297 en 186 posts
Registro en: Jun 2008
Mensaje: #4
RE: Orden Superior en Smalltalk
Se habla de orden superior cuando manejo a mi programa como si fuera un dato. Osea, antes mis datos eran números, estructuras, objetos, strings, blehs, pero ahora TAMBIÉN puedo manejar como si fuera un dato a una parte de mi programa (una función, un predicado).

En el caso de objetos, la forma de tener comportamiento como un dato es el bloque, sí: tengo un objeto (mi única forma de tener datos) que representa comportamiento (código, programa). Así como en Prolog tengo el call para evaluar predicados, o en funcional puedo aplicar funciones que me pasen como parámetro, en Smalltalk puedo mandarle "value" a un bloque (o sus variaciones "value:" y demás) para "ejecutar" ese cacho'e código que tengo como si fuera un dato.

Si eso no es orden superior, alguien que me lo explique =)

[Imagen: a2.php]
[Imagen: 971aa6599664453c05cb3e42d58bbc0eo.jpg]
17-12-2013 16:03
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Desert69 recibio 1 Gracias por este post
Baron Bomadil (17-12-2013)
Baron Bomadil Sin conexión
Militante
We are out of coffee
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 92
Agradecimientos dados: 17
Agradecimientos: 9 en 9 posts
Registro en: Jul 2013
Mensaje: #5
RE: Orden Superior en Smalltalk
(17-12-2013 15:56)rm1216 escribió:  Técnicamente no es orden superior, aunque creeo que si lo pones en el final te lo aceptan (lo leí en la wiki de pdep si mal no recuerdo). Otra cosa que se puede considerar orden superior es cuando un objeto le manda un mensaje a otro objeto pidiéndole que haga algo que no sea una acción simple (como enviar un dato, por ejemplo). No se si me explico. De todas formas si lo podes justificar creo que te lo tendrían que tomar como bien

Gracias, no entendi bien lo último. O sea si yo hago que un objeto me devuelva un resultado que yo voy a usar, es orden superior?
17-12-2013 16:04
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
brianle Sin conexión
Militante
Futuro Ingeniero!
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 86
Agradecimientos dados: 9
Agradecimientos: 6 en 5 posts
Registro en: Jan 2012
Mensaje: #6
RE: Orden Superior en Smalltalk
En objetos, hay orden superior siempre. Dicho por mi profesor. Los objetos siempre se usan a si mismos y a los otros objetos, interactuan siempre, entonces hay siempre orden superior.
17-12-2013 16:27
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Baron Bomadil Sin conexión
Militante
We are out of coffee
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 92
Agradecimientos dados: 17
Agradecimientos: 9 en 9 posts
Registro en: Jul 2013
Mensaje: #7
RE: Orden Superior en Smalltalk
(17-12-2013 16:27)brianle escribió:  En objetos, hay orden superior siempre. Dicho por mi profesor. Los objetos siempre se usan a si mismos y a los otros objetos, interactuan siempre, entonces hay siempre orden superior.

No me cierra mucho eso . objeto <> método, los métodos son de orden superior, no los objetos.
Que los objetos interactuen entre si no debería implicar en sí mismo que haya orden superior, volviendo al concepto, un procedimiento es de orden superior cuando recibe como parámetro otro procedimiento, no una referencia a una estructura de datos (en este caso, un objeto).

O sea esa argumentación se basa en el simple hecho de que a un objeto pasado como parámetro se le puede mandar un mensaje, pero la idea de orden superior seria un mensaje recibiendo otro mensaje, un objeto no es un mensaje... :/


Ahora, yéndonos un poco más afuera del tema del final, estube chusmeando y el concepto de mensaje de orden superior recién fue presentado en 2005, y se implementó en Smalltalk en las LazyCollections. Al menos hasta donde yo busqué, nunca se considera de orden superior a un mensaje que recibe un bloque como parámetro.
17-12-2013 22:59
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
norchow Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 23
Agradecimientos dados: 22
Agradecimientos: 12 en 9 posts
Registro en: Jul 2013
Mensaje: #8
RE: Orden Superior en Smalltalk
Yo contestaría que sí hay orden superior porque se manda "comportamiento" por parámetro.
Igualmente supongo que es de esas preguntas que se fijan mas en la justificación que en la respuesta en sí
Saludos!
17-12-2013 23:52
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Desert69 Sin conexión
Presidente del CEIT
Sin estado :( / "Anarquia...
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 2.396
Agradecimientos dados: 202
Agradecimientos: 297 en 186 posts
Registro en: Jun 2008
Mensaje: #9
RE: Orden Superior en Smalltalk
Che, ¿por qué no preguntaron en PdeP?

[Imagen: a2.php]
[Imagen: 971aa6599664453c05cb3e42d58bbc0eo.jpg]
18-12-2013 11:43
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
reLlene Sin conexión
Profesor del Modulo A
...
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 291
Agradecimientos dados: 313
Agradecimientos: 61 en 33 posts
Registro en: Aug 2012
Mensaje: #10
RE: Orden Superior en Smalltalk
Baron Bomadil la respuesta es . Un bloque de codigo es un objeto particular pero con una lógica dentro. Funciones como ifTrue, ifFalse, detect, etc son FOS (Funciones de Orden Superior) puesto que reciben un bloque de código que resuelve algo concreto con cierta lógica. Sin embargo, un bloque de código con esa lógica interna (también conocido como "cacho de código") pero SIN ser parámetro de algun objeto. Es decir, ESTO -> [.....] value NO ES FOS.

Espero haberte ayudado.

Saludos!!
(Este mensaje fue modificado por última vez en: 18-12-2013 12:58 por reLlene.)
18-12-2013 12:57
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Baron Bomadil Sin conexión
Militante
We are out of coffee
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 92
Agradecimientos dados: 17
Agradecimientos: 9 en 9 posts
Registro en: Jul 2013
Mensaje: #11
RE: Orden Superior en Smalltalk
(18-12-2013 11:43)Desert69 escribió:  Che, ¿por qué no preguntaron en PdeP?

Estoy esperando que me aprueben la membresía al grupo =P

(18-12-2013 12:57)reLlene escribió:  Baron Bomadil la respuesta es . Un bloque de codigo es un objeto particular pero con una lógica dentro. Funciones como ifTrue, ifFalse, detect, etc son FOS (Funciones de Orden Superior) puesto que reciben un bloque de código que resuelve algo concreto con cierta lógica. Sin embargo, un bloque de código con esa lógica interna (también conocido como "cacho de código") pero SIN ser parámetro de algun objeto. Es decir, ESTO -> [.....] value NO ES FOS.

Espero haberte ayudado.

Saludos!!

Sacando que dijiste funciones en vez de método, supongo que es una justificación correcta.
Al fin y al cabo, parece ser que lo que importa es la justificación, y un mensaje puede ser o no de orden superior (para la cátedra) depende de dónde lo mires.
Igual cuando pueda escribir en el grupo lo hago a ver qué me contestan =P
Saludos!
18-12-2013 13:40
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Desert69 Sin conexión
Presidente del CEIT
Sin estado :( / "Anarquia...
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 2.396
Agradecimientos dados: 202
Agradecimientos: 297 en 186 posts
Registro en: Jun 2008
Mensaje: #12
RE: Orden Superior en Smalltalk

Off-topic:
(18-12-2013 13:40)Baron Bomadil escribió:  
(18-12-2013 11:43)Desert69 escribió:  Che, ¿por qué no preguntaron en PdeP?

Estoy esperando que me aprueben la membresía al grupo =P

Si no te aprobamos todavía, mandá de nuevo diciendo con quién cursaste. O mandame un PM, es raro que se me haya escapado =)

[Imagen: a2.php]
[Imagen: 971aa6599664453c05cb3e42d58bbc0eo.jpg]
18-12-2013 14:40
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Baron Bomadil Sin conexión
Militante
We are out of coffee
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 92
Agradecimientos dados: 17
Agradecimientos: 9 en 9 posts
Registro en: Jul 2013
Mensaje: #13
RE: Orden Superior en Smalltalk
(18-12-2013 14:40)Desert69 escribió:  
Off-topic:
(18-12-2013 13:40)Baron Bomadil escribió:  
(18-12-2013 11:43)Desert69 escribió:  Che, ¿por qué no preguntaron en PdeP?

Estoy esperando que me aprueben la membresía al grupo =P

Si no te aprobamos todavía, mandá de nuevo diciendo con quién cursaste. O mandame un PM, es raro que se me haya escapado =)


Off-topic:
Ya me aceptaron y mandé la pregunta al grupo, gracias!
19-12-2013 15:51
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.