Me gustaria que se dejen de lado la descalificación. La discución está por demás interesante (por lo menos a mi me parece), no dejemos que se arruine.
Guillermo, a mi me parece que quiza tenemos definiciones distintas de las cosas y eso trae mas confución. Según lo que decis que leiste en ese texto habla de que la orientación a objetos es una farsa porque las clases tienen ciertos problemas. Por ejemplo, segun entendi el problema que nombras ahi es que te obligan a generalizar desde el principio, es decir, creas una clase pero todavia no tenes las instancias! entonces estas generalizando sobre algo que no tenes idea todavia (o tenes una idea vaga). OK En primer lugar, un ambiente de objetos no tiene por que tener clases, no es un requisito. En un ambiente de objetos los programas se defien a partir de OBJETOS QUE COLABORAN ENVIANDOSE MENSAJES. Por ejemplo, Self es un ambiente de objetos sin clases, esta basado en prototipos y delegación. Para crear un objeto se clona otro, no hay que tener clases. Sin embargo, independientemente de esto, no creo que el mecanismo de subclasificación sea necesariamente tan malo como plantea ese texto. Cuando un modelo va madurando, se pueden hacer generalizaciones y no esta mal. El estar obligado a usar clases es quiza una incomodidad, pero no un impedimento para hacer buenos diseños. También hay que tener en cuenta que cuando hacemos una jerarquía, esa jerarquía modela solo un punto de vista. Un punto de vista que nos es util en el dominio que estamos manejando. Cuando Aristoteles armo la primer jerarquía de los seres vivos (vertebrados e invertebrados; peces, anfibios, reptiles, etc....) es mas que claro que uso criterios en algún punto arbitrario para definir las diferentes clases. Podría haberlos clasificado en función de como esta compuesto el tegido cutaneo (mande fruta para dar un ejemplo). Pero para analizar ciertas cosas, diferentes puntos de vista pueden ser utiles. Con respecto a "OOP modela adecuadamente el mundo", me parece una frase media vaga, OOP no modela el mundo. Uno puede utilizar un ambiente de objetos para modelar parte de un dominio, y tratar de que eso que estamos modelando refleje lo mas posible la porcion esa de la realidad en cuestión y eso tiene varias ventajas. En primer lugar reduce el gap semantico http://es.wikipedia.org/wiki/Intervalo_sem%C3%A1ntico y hace que dos personas puedan entender y comunicar mejor, por lo tanto trabajar mas en armonia. En segundo lugar, la complejidad de tu modelo siempre va a estar atadada a la complejidad del dominio modelado y no deberia agregar mas complejidad (algo que sucede en otros lenguajes). Mucha gente cree que hay que modelar la realidad hasta el mas minimo detalle. Eso, en primer lugar es imposible. Y en segundo lugar no es necesario. Es como decir que si yo quiero calcular el tiempo que me llevaría llegar a Mar del Plata, tenga que modelar el comportamiento del universo entero y tener en cuenta todos los infinitos factores. Obviamente que puedo utilizar un modelo acotado y simplificadisimo y me va a recontra servir para el problema que quiero resolver. De eso se trata, hagamos modelos simplificados y acotados, pero que reflejen lo mas posible lo que estamos modelando! Con respecto a lo que decia Alan Kay de que tendria que haberla llamado orientacion a mensajes, Alan kay no se referia a eso, si no mas bien a que el late binding es vital para la orientacion o objetos. Alan también dijo que se sigue construyendo software como los egipcios las piramides, y se referia a mucho de esto que estamos hablando. Los principios de Smalltalk estan basados en todo esto también, te dejo un texto de Dan Ingalls, principal arquitecto de Smalltalk-80: http://users.ipa.net/~dwighth/smalltalk/byte_aug81/design_principles_behind_smalltalk.html si tenes ganas lee principalmente la seccion "*Language*" Conclusión, la clasificación no es el único mecanismo para compartir comportamiento, pero tambien es util. Se podría combinar con otros como la delegación y prototipos para etapas mas experimentales y de descubrimiento del dominio. Saludos. Gabriel 2008/5/8 Esteban A. Maringolo <[EMAIL PROTECTED]>: > > 2008/5/8 Emilio Oca <[EMAIL PROTECTED]>: > > > > On 5/7/08, Guillermo Schwarz <[EMAIL PROTECTED]> wrote: > > > Creoque tu ejemplo simplifica demasiado el asunto. No se trata de > pensar en > > > cualquier cosa. > > > Quizás mi error es pensar que entendés de los temas de los que hablás, > > esta frase me deja esa duda. > > Nadie resiste un archivo.... > > < > http://groups.google.com/group/clubSmalltalk/search?group=clubSmalltalk&q=Troll > > > > > -- > Esteban A. Maringolo > [EMAIL PROTECTED] > > > > --~--~---------~--~----~------------~-------~--~----~ 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. -~----------~----~----~----~------~----~------~--~---
