Polimorfismo. Esa es la idea de fondo. ¿para qué? Según yo para hacer programas genéricos, en los que las diferencias están en las pequeñas clases que implementan los diferentes comporatamientos, pero el algoritmo general es siempre el mismo.
¿Porqué alguien querría hacer algo como eso? Por ejemplo si pensamos que las empresas en el futuro serán todas como Google, dando servicios por la red, entonces todas las empresas querrán programar sus algoritmos una sola vez y luego sólo irlos adaptando un poco en la medida que vayan captando nuevos clientes con nuevas necesidades. Saludos, Guillermo. On Tue, 2010-10-05 at 20:21 -0300, Gabriel Brunstein wrote: > > > Lo de cosificar y lo de objetivizar los conceptos del lenguaje > que se produce en smalltalk no es un principio filosofico sino > que corresponde a un nombre para algo que se produce en todos > los lenguajes de programacion y que simplementecae trata de > uniformidad. > > > En realidad yo cuando hablo de modelar "la realidad" justamente me > refiero a eso, a transformar en objetos los conceptos y entidades del > lenguaje, quizá la palabra "realidad" es la que presta a confusión > (dado que por lo que veo su significado es muy discutido > filosoficamente). Esto no necesariamente tiene que hacerse luego de > subrayar palabras en los requerimientos (de hecho me parece una muy > mala práctica). Esto puede hacerse de manera incremental a medida que > uno va programando, modelando y descubriendo el dominio. Muchas veces > también surgen objetos que no tienen que ver con el dominio que se > está programando si no que tienen más que ver con el dominio > "computacional", es decir, cuestiones implementativas (persistencia, > transaccionalidad, seguridad, etc). > > > Por otro lado, aprovecho a mencionarte algo de lo que comentaste en > algún momento de Alan Kay sobre que la hubiese llamado programación > orientada a mensajes (en lugar de objetos). Leí el artículo en donde > menciona eso (si no me equivoco era una entrevista), en realidad él se > refiere a que el verdadero poder de la programación con objetos está > en late binding, y es algo que muchos lenguajes/programadores pierden > de vista, especialmente cuando hablan de "llamadas a métodos" y no de > objetos enviando mensajes. > > > > > El 05-10-2010, a las 15:47, Nahuel Silva > <[email protected]> escribió: > > > > > > Hola, Carlos: > > > > > > Yo lo leí, altamente recomendable, pero para pocos, -square > > heads refrain-. Del mismo palo, -de hecho de un maestro- > > recomiendo cualquiera de Osho -o en su defecto satyam shivam > > sundram, acá traducido como "La pasión por lo imposible" o > > al menos es uno muy parecido, hay uno muy bueno que se llama > > "Zaratustra a god that can dance" excelente. > > Creo que ninguno lo leyó, si no, no se harían estos planteos > > que son sólo planteos de la mente que quiere y necesita > > hacer de todo un objeto....que grande eckhart :). > > > > > > Dejen de pensar tanto. > > > > > > Saludos > > > > 2010/10/5 Guillermo Schwarz <[email protected]> > > Opiniones son opiniones y desde ese punto de vista > > son todas respetables, sin embargo si el texto no es > > mas que citas no explicadas y comentarios como > > "leete este libro" quedamos en el mismo punto donde > > partimos, pero con la sensación de que es mucho mas > > difícil de lo que parece. > > > > Y si mas encima decimos "esto es muy complejo" es > > porque o no lo entendemos o no queremos que el > > interlocutor entienda. > > > > Haz la prueba de crear una aplicación utilizando la > > metodología de encontrar los sustantivos, de > > utilizar el has-a e is-a para encontrar las > > relacones entre las clases y vas a llegar a la > > conclusión de que el sistema esta mal modelado, > > muchos métodos inútiles y pocas clases que hacen > > todo y que cuesta poner a punto, con todo amarrado > > siendo imposible agregar mas funcionalidad > > posteriormente. > > > > La principal razón es que el software no existe para > > "modelar la realidad" (a menos que sea un software > > para predecir el clima), sino que intenta resolver > > uno o varios casos de uso de usuario > > (funcionalidades reales por la cuales el cliente > > esta dispuesto a pagar). Ese es el valor que el > > cliente y el usuario ven en el software, su > > comportamiento externo. > > > > Las jerarquías de clases son solamente formas de > > organizar el codigo internamente de manera de > > escribir la menor cantidad de código repetido > > posible. Existen otras técnicas para lograr lo > > mismo, por ejemplo las monadas en haskell. De hecho > > xmonad es un Window mánager heho en haskell y según > > dicen tiene menos líneas de código que cualquier > > otro window mánager. > > > > Se podría decir que si > > > > c = CPU del programador > > f = cantidad de funcionalidades > > R = líneas de código repetido > > T = líneas totales > > > > > > Entonces: > > > > C = f / TR > > > > Saludos, > > Guillermo Schwarz. > > > > El 05-10-2010, a las 14:48, Hernán Morales Durand > > <[email protected]> escribió: > > > > > > > > El día 5 de octubre de 2010 04:43, Francisco > > Garau <[email protected]> escribió: > > Hola Norberto, > > > > Muy bueno tu blog - me gusta mucho > > la claridad y profundidad con la > > que escribís. > > > > Las preguntas que a mi me quedan > > luego de leer tus artículos son: que > > es la realidad? como modelamos la > > realidad? si modelamos con objetos, > > somos objetivos? es posible ser > > objetivo? > > > > > > Es un poco complicado encarar así el tema de > > la realidad. No hay que > > olvidar que "realidad" es una palabra de uso > > ordinario y cargada de > > ambiguedad. Este tema está lleno de > > sociologías y filosofías > > subjetivistas, y se ha escrito tanto que uno > > puede pasar la vida > > leyendo y no terminar jamás: la realidad > > física newtoniana fue > > fantástica en su época, pero demostró ser > > inútil para la ciencia > > contemporánea, y la realidad que pretenden > > explicar los físicos > > teóricos o matemáticos son inútiles para los > > filósofos de la ciencia, > > que a su vez formulan más conceptos inútiles > > para los metafísicos, > > etc. Lamentablemente no hay forma de que uno > > se pueda saltar el > > vocabulario filosófico (que toma años > > adquirir) para tratar estos > > temas seriamente. > > > > Para responder estas preguntas en el > > mundo informático, me parece > > interesante ver como analiza un > > problema similar Christopher > > Alexander > > en su articulo "A city is not a > > tree" [1]. Para resumirlo, si > > analizamos la estructura de una > > ciudad, terminamos con una > > estructura > > de árbol o un reticulado? > > > > > > Mmm no, Alexander no es el pensador más > > apropiado para preguntarse por > > modelos cognitivos per se. Por ej. el > > trabajo del primer Alexander > > (principios de los 60) tiene que ver con el > > capital social, su > > pensamiento político y la sociedad de > > mercado democrática, la > > participación activa de la ciudadanía, etc. > > En este sentido hay un > > ensayo que se llama "The city as Mechanism > > for Sustaining Human > > Contact" que está relacionado más con su > > proyecto y, de hecho, el > > trabajo por el cual más se lo conoce "A > > pattern language" habla de > > patrones que pueden generar formas de vivir > > en una ciudad, o sea, > > diseño urbano humanista. El siempre está > > busca de patrones que forman > > y transforman a la sociedad democrática, > > como influencia en sus > > relaciones, como se intensifican de acuerdo > > a las necesidades de la > > población y la estructura de los entornos en > > donde vive. > > > > Para un análisis más informático > > (¿conexionista?) de la realidad hay > > otros autores más cercanos. > > > > Entiendo que Aristoteles se > > inclinaba mas a clasificar los > > objetos de > > la realidad con una estructura de > > árbol: es decir, una mesa ES una > > mesa y nada mas. > > > > > > Y... es un poco más complicado que eso, > > aunque es otro tema que es un > > clásico. Ya entender los primeros capítulos > > de las Categorías requiere > > una introducción al vocabulario de > > Aristóteles, por ej. que significa > > que una cosa esté "presente en un > > sujeto" (de lo que es predicable > > pero nunca presente, de lo nunca predicable > > pero presente, de lo > > predicable y presente y ni predicable ni > > presente, de qué significa > > que esté presente, etc.), y cosas como el > > principio de discriminación > > y univocidad. Es complicado :) > > > > Saludos, > > > > Hernán > > > > -- > > To post to this group, send email to > > [email protected] > > To unsubscribe from this group, send email > > to clubSmalltalk > > [email protected] > > > > http://www.clubSmalltalk.org > > > > -- > > To post to this group, send email to > > [email protected] > > To unsubscribe from this group, send email to > > [email protected] > > > > http://www.clubSmalltalk.org > > > > > > > > -- > > To post to this group, send email to > > [email protected] > > To unsubscribe from this group, send email to clubSmalltalk > > [email protected] > > > > http://www.clubSmalltalk.org > > -- > To post to this group, send email to > [email protected] > To unsubscribe from this group, send email to clubSmalltalk > [email protected] > > http://www.clubSmalltalk.org > > -- > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to clubSmalltalk > [email protected] > > http://www.clubSmalltalk.org -- Simplex Veri Sigillum -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] http://www.clubSmalltalk.org
