martes, 18 de noviembre de 2008

Tip 1: Create an Isomorphism between objects and entities

Este fue el primer tip de la charla de Smalltalks que presenté el viernes pasado. Voy a tratar de repasar todos los tips durante las próximas semanas escribiendo los comentarios que obtuve en el congreso y también esperando que ustedes aporten algún comentario.
Este tip tiene como objetivo "lograr un buen modelo". En realidad, la definición de "buen modelo" que dí está basada en las ideas que Einstein escribe en "Física, la aventura del pensamiento", donde básicamente argumenta que un buen modelo es aquel que soporta todas las observaciones que se realizan de la realidad correctamente. Esta idea combinada con la que Norman ofrece en "The Design of Everyday thing" donde básicamente habla sobre la importancia del "mapping" entre los "entes del modelo mental" que uno se realiza de "la realidad" es que aparece este tip.
La idea es que si logramos mapear correctamente cada ente de la realidad a objetos del modelo computable que estamos haciendo estaremos logrando un buen modelo, puesto que cada observación será mapeada directamente a los objetos existentes, y en caso de no poder ser mapeada es porque aprendimos algo nuevo y por lo tanto hay que crear los objetos correspondiente para soportala. 
Algo que hay que tener en cuenta sobre este tip, que no comenté en la charla, es que este es un objetivo, es lo que se debe buscar puesto que lograr ese isomorfismo es casi imposible (sino imposible) puesto que siempre habrá algo nuevo para aprender de la realidad o una nueva manera de organizar lo que entendimos. 
Otro punto a tener en cuenta es que realmente uno no mapea los objetos con los entes de la realidad sino con el modelo mental que uno realiza de la realidad, es por ello que existen varios modelos del mismo problema que son pensados desde distintos puntos de vista. Es por este motivo que utilizar metáforas para realizar ese modelo mental es fundamental, puesto que guiará nuestra representación e interpretación de la realidad, nos dará una herramienta para entenderla, cuadrarla. El tema de la metáfora es tan importante que hay filósofos post-modernistas que dicen que no pensamos sino a través de metáforas. Representan a estas como "meta-ideas", o sea ideas sobre ideas.
Uno de los comentarios que recibí sobre este tip fue que en el modelo siempre existen objetos que no aparecen en el dominio del problema. En cierta forma es verdad, hay muchos objetos que aparecen en el modelo que no forman parte del dominio de problema funcional, pero muchos de ellos corresponden al hecho de estar haciendo un modelo computable, o sea que son objetos que representan entes de otro dominio de problema, el computable. No tengo manera de probar que siempre estos objetos serán de este dominio pero mi intuición de dice que si.... 
Si no fuese así, debería cambiar el "isomorfismo" por aquella relación utilizada para indicar que todos los elementos del codominio se mapeaban al dominio (no recuerdo la palabra ahora).
Más allá de este detalle (no despreciable por cierto), lo importante es no olvidar la consigna de mantener este mapeo como objetivo y recordar la importancia de tener una metáfora que nos guie en el proceso...

No hay comentarios.: