Hola: Alguien usó Traits para sistemas en producción? Han obtenido buenos resultados? Hay algún port o intención de port a Dolphin o Visual Smalltalk?
Saludos GallegO Guillermo Schwarz escribió: > 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] > <mailto:[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] > <mailto:[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] > <mailto:[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. -~----------~----~----~----~------~----~------~--~---
