Superando los límites de la Orientación a Objetos (Parte 2)

Sigo transcriendo notas (no textuales) y comentarios, de la charla de Alejandro Reimondo de Smalltalking sobre Superando los límites de Orientación a Objetos. Alejandro comentó sobre sus primeros proyectos con Smalltalk:

Volcado en años, hay infinidad de cosas hechas … son proyectos fuera de lo común, no convencionales, y es muy variado el tipo de cosas que he hecho, y hay hitos de los que me siento orgulloso.

(cerca de 1990) El Soler es un sistema que es una simulación de una locomotora, que se utilizó para enseñar a reparar una locomotora. Antes se enseñaba con una locomotora física, eso es costosísimo. En esos tiempos, los japoneses llegaron al país, a hacerse cargo de una empresa de transporte, y nos contrataron para programar un modelo de locomotora, que sirviera para la enseñanza de su reparación.

Es un proyecto que me llevaría tiempo explicar, pero fueron interesantes los resultados. Logramos hacer una locomotora donde están virtualizados los caños, elementos, partes, y lo interesante que eso lo programaron los usuarios. Yo no sabía de locomotoras, el problema real era ¿cómo hago un sistema ne donde quien lo usa, lo programa?. Estamos hablando de 1991, tenía que ser hecho en seis meses el primer modelo, luego estaba planeado modelar más tipos de locomotoras. Empezamos a trabajar en una herramienta de construcción, donde el experto especificaba cada una de las piezas, y las probaba de a una, e iba conectando los subsistemas. Eran como 150 elementos coordinados. Empiezan a trabajar los usuarios a especificarlos, cuando el referente me dice: el problema es grande, no sabemos cómo lo estás resolviendo, ¿qué nos garantiza que todo va a funcionar? ¿cómo vas a resolver las referencias circulares? Eran preguntas de los libros de simulación. Yo sabía la respuesta: nadie te garantiza que todo va a andar. Pero no tuve que dar esa respuesta, seguí construyendo. Un buen día, recibo un llamado: Alejandro, sos un genio, terminamos de armar todo, y anda, ¿cómo sabías que iba a andar? Ahora, la duda ya no es si va a andar, sino, ¿por qué está andando? Acá, este andando es mágico, y ahí entendí la respuesta, que la podía dar en ese momento: anda, porque las locomotoras andan“.

Igual acá acotaría que no siempre las simulaciones de ese tipo llegan a buen puerto. El tema no son las referencias circulares, sino la adecuación a lo modelado en la realidad.

Las locomotoras son dispositivos diseñados estables, están armadas para que no se generen desequilibrios en ese sistema, había toda una ingeniería en esa maquinaria, lo único que no tenía que hacer era programar yo, era permitir al experto que tuviera herramientas para programarlo.

Me di cuenta de eso magico: las cosas funcionan. Lo que tratamos de hacer, es virtualizar eso, para conseguir ese éxito.

Las cosas que andan, si uno lo trabaja con objetos, andan. Me costo unos años, que hay cosas que no andan, y cuando uno trabaja con objetos, tampoco andan.

Me temo que Alejandro no dió un ejemplo de este tipo, de “cosas que no andan”.  En el tema locomotora, estudiaría sistemas, teoría de sistemas, tendría que recomendar varios títulos de Mario Bunge aquí, como su excelente “Emergencia y Convergencia”.

Lo que tenemos en un modelo de objetos, es algo valioso, pero tiene límites.

En el resto de la charla siguió tratando de mostrar los límites de POO, pero eso seguirá en otros posts.

Enlaces relacionados

Superando los límites de la Orientación a Objetos (Parte 1)
Superando los límites de la Orientación a Objetos (Parte 3)
Mas allá de objetos

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com/
http://twitter.com/ajlopez

This entry was posted in 3462, 3463. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>