Hola Guillermo: No entendí qué querés decir con "creación de objetos biológicos". ¿Qué son los objetos biológicos? En cuanto a que la idea de la orientación a objetos como reducción de código repetido a través de jerarquías de clases, no estoy de acuerdo. Me parece que el hecho de evitar la repetición de código es mejor verlo como una consecuencia, y no como parte del corazón de la orientación a objetos. Por otra parte, hacés referencia a jerarquías de clases, sin embargo creo que es posible trabajar con objetos en ambientes de prototipación, donde no tendrías las jerarquías de clases en primera instancia. En este caso, según la segunda definición, no estaríamos hablando de orientación a objetos, cuando en realidad sí entran dentro de la categoría.
Saludos, Abel Armoa 2008/4/25 Guillermo Schwarz <[EMAIL PROTECTED]>: > La idea de la orientaciòn a objetos se puede ver como la creaciòn de > objetos biológicos (de ahí su nombre, no muy apropiado por cierto, por parte > de Alan Kay que fue el inventor del término y que estudió biología > molecular), pero además se puede ver como la reducción del código repetido a > través de las jerarquías de clases. > > Acà hay un ejemplo de Traits y cómo se puede eliminar la repetición de las > colecciones en Smalltalk: > http://portal.acm.org/citation.cfm?doid=949305.949311 > > "La" explicación de Traits: > http://www.iam.unibe.ch/~scg/Archive/Papers/Scha03aTraits.pdf<http://www.iam.unibe.ch/%7Escg/Archive/Papers/Scha03aTraits.pdf> > en > Smalltalk. > > Saludos, > Guillermo. > > 2008/4/23 Jose Gregoris <[EMAIL PROTECTED]>: > > Hola gente. >> >> Perdon que me meta en la charla, pero no entendí esto: >> >> * He leìdo de proyectos que estàn tratando de programar todo con Traits >> (muy parecido a los Mixins), pero en vez de usar herencia para resolver los >> comportamientos similares, encadenan Traits. Al parecer la desilusiòn de las >> jerarquìas de clases nos ha llevado a esto, lo que hace que los lenguajes >> sean cada vez màs dinámicos, ya que en tiempode ejecución se podría agregar >> un trait a un objeto sin necesidad de instanciarlo de nuevo >> *,* mientras que con las jerarquìas de clases hay que recompilarlo todo. >> >> * >> Sobre todo lo de recompilar todo, se refieren a ST o ( JAVA C#) >> Saludos kiko >> >> >> *Guillermo Schwarz <[EMAIL PROTECTED]>* escribió: >> >> El mayor problema que tienen tanto Java como C# es que tienen early >> binding en vez de late binding, es decir, se trata de resolver todo en >> tiempo de compilaciòn, de modo que el truco del #doesNotUnderstand no es >> practicable ni en Java ni en C# (ok, todos sabemos que sì tienen late >> binding, pero es menos late que en el caso de Smalltalk). >> >> Sin embargo en Java desde la versiòn 1.3 existen los dynamic proxies que >> vienen a hacer lo mismo pero con tipos estàticos. Ahora bien, la cantidad de >> lìneas de còdigo para hacer lo mismo bordea las 70 lìneas de código >> dependiendo de còmo se cuente, es decir unas 10 veces màs. Sin embargo >> considero que eso no es lo impresionante si despuès de todo eso se meterà >> dentro de una biblioteca, de modo que da lo mismo la cantidad de lìneas de >> còdigo, lo impresionante es el còdigo resultante con que queda la >> aplicaciòn, que al tener proxies dinàmicos permite asociaciones en tiempo de >> ejecuciòn. >> >> El truco surgiò inicialmente en Smalltalk como el patròn de diseño llamado >> Proxy. Luego se concirtiò en Mixins para simular herencia múltiple. Luego se >> convirtió en AOP que finalmente es lo mismo. >> >> He leìdo de proyectos que estàn tratando de programar todo con Traits (muy >> parecido a los Mixins), pero en vez de usar herencia para resolver los >> comportamientos similares, encadenan Traits. Al parecer la desilusiòn de las >> jerarquìas de clases nos ha llevado a esto, lo que hace que los lenguajes >> sean cada vez màs dinámicos, ya que en tiempode ejecución se podría agregar >> un trait a un objeto sin necesidad de instanciarlo de nuevo, mientras que >> con las jerarquìas de clases hay que recompilarlo todo. >> >> Saludos, >> Guillermo. >> >> 2008/4/21 GallegO <[EMAIL PROTECTED]>: >> >>> >>> Hola Bruno: >>> >>> Bruno Buzzi Brassesco escribió: >>> > >>> > Discutiendo con un amigo que decía que Smalltalk no tenia herencia >>> > múltiple. >>> > >>> > Aunque sea discutible la necesidad de herencia múltiple, me pregunte >>> > cuan rápido se podrá implementar herencia múltiple en Smalltalk y >>> > poner a prueba su flexibilidad. >>> > >>> > En "7 líneas de código" o 5 minutos ... hice esto: >>> > >>> > Se puede discutir sobre la validez de la implementación (la variable # >>> > superinstances y sus implicaciones) pero NO es el punto central. >>> > >>> > Lo central es que si en 5 minutos se puede hacer esto, que será >>> > después de estar un año trabajando sobre un tema... >>> > >>> > Implementa algo así en C# (u otro) valor!!! >>> > >>> Muy bueno! >>> Se llega a resultados sorprendentes. Lo que no entiendo es porque en C# >>> no se podría hacer lo mismo. Me gustaría que me explicaras los motivos >>> (por los cuales no se puede) ya que eso que mostraste es muy simple. >>> >>> Saludos >>> GallegO >>> >>> >>> >> >> >> -- >> Saludos cordiales, >> >> Guillermo Schwarz >> Sun Certified Enterprise Architect >> ------------------------------ >> >> Yahoo! Encuentros >> Ahora encontrar pareja es mucho más fácil, probá el nuevo Yahoo! >> Encuentros. >> Visitá http://yahoo.cupidovirtual.com/servlet/NewRegistration >> >> >> --~--~---------~--~----~------------~-------~--~----~ Has recibido este mensaje porque estás suscrito a Grupo "ClubSmalltalk" de Grupos de Google. Si quieres publicar en este grupo, envía un mensaje de correo electrónico a [email protected] Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED] Para obtener más opciones, visita este grupo en http://groups.google.com/group/clubSmalltalk?hl=es. -~----------~----~----~----~------~----~------~--~---
