martes, julio 18, 2006

Ex Machina

La filosofía de la visión orientada a objetos (también llamado paradigma de la orientación a objetos) dentro de un sistema informático nos propone ver todo lo que acontece en un sistema determinado como la interacción de un conjunto de entidades llamadas objetos que tienden a relacionarse entre sí. Un ejemplo de objeto puede ser una ventana del sistema operativo Windows en donde se ve la interfase visual de otro programa, por ejemplo un navegador de internet con un blog cargado, que vendría a ser también un objeto más, un objeto llamado página de internet. Otro objeto puede ser el programa de intercambio de mensajes instantáneos, otro es el software repoductor de archivos de música mp3.

Los objetos son creados en base a clases. Las clases las podríamos ver como un conjunto de características (atributos), funciones (operaciones) y reglas que deben cumplir los objetos que pertenecen a la misma. Pasando a un ejemplo de la naturaleza podemos decir que los objetos de la clase "Mamíferos" tendrán como característica (atributo) en común las "mamas" y el hecho (función) de "mamar", no importa sin son vacas, perros o seres humanos. Bueno, con los objetos de un sistema informático pasa lo mismo: los objetos de la clase genérica "Ventana" podrán ser distintos unos de otros, habrá algunos con bordes redondeados, otros con bordes cuadrados pero todos tendrán la característica (atributo) "borde", y todos, más allá de sus diferencias tendrán las operaciones (funciones) de "abrir", "cerrar", "maximizar", "minimizar", etc.

Llegamos a la conclusión entonces de que todos estos objetos tienen atributos y funciones propios a cada uno de ellos, es más, una definición sencilla de objeto puede ser precisamente el decir que "es la combinación de un conjunto de atributos y funciones". Los atributos son las caracterísiticas propias de cada uno de ellos, algo que los ayuda a definirse como parte de una misma clase de objetos y que también, para el que los ve desde afuera, ayuda a diferenciarlos unos de otros; es decir entre objetos de una misma clase todos reconocerán tener un conjunto de atributos en común y para otros objetos distintos (con otros atributos y otras funciones) o para un observador externo esos atributos serán a su vez una forma de diferenciarlos.

Una ventana tendrá como atributos propios la altura y la anchura (medidas en píxeles) y como funciones las de maximizarse, minimizarse, cambiarse de tamaño o cerrarse. El reproductor de archivos de música que corre dentro de esa ventana tendrá a su vez sus propios atributos como ser volumen, balance y tipo de ecualización usada, y como funciones propias las de reproducir, pausar, parar y retroceder o avanzar un archivo de audio mp3. El intercambiador de mensajes instantáneos por su parte tendrá como funciones las de enviar y recibir un mensaje, agregar un contacto, etc. A su vez un mensaje también es un objeto, y uno de sus atributos pueden ser la extensión (en caracteres) del mismo. Entonces llegamos a darnos cuenta que tenemos en todo el sistema cientos de tipos de objetos distintos, cada uno de ellos con atributos y funciones propias que difieren de las de los otros objetos con los cuales coexisten y se comunican.

Todos estos objetos a pesar de que creamos son tan distintos unos de otros no están aislados, todo lo contrario, como dije, pueden comunicarse entre ellos y muchas de los comportamientos individuales de ellos pueden afectar a todo el sistema y por ende a los demás objetos. El intercambio de informacíón entre objetos se denomina "paso de mensajes". Así el objeto reproductor de archivos de música (supongamos Windows Media Player) puede comunicarle al objeto de intercambio de mensajes instantáneos (supongamos MSN Messenger) qué canción se está reproduciendo en un momento dado. También se puede copiar algo de lo que se lee en la ventana del objeto navegador en donde se está visualizando este post y copiarlo a su vez a una ventana del objeto messenger para enviárselo en forma de un objeto mensaje a algún contacto.

Todos los objetos interactúan, todos se relacionan. Ahora bien, ¿qué es esta relación? ¿qué es este vincularse? ¿qué es ese link?

Ahora analicemos a fondo un objeto. Un objeto en un nivel más profundo de análisis no es más que un conjunto de datos alojados dentro de la memoria de una computadora. Un conjunto de datos interpretados y relacionados por una mente humana dan como resultado lo que llamamos información. Un dato es una unidad indivisible formada por un valor. Un valor en su última instancia es un sistema informático está representado por una combinación de ceros y unos (Ej: 010000111101). Bajando a un nivel más atómico los únicos símbolos que maneja un sistema para hacer todo son el cero (0) y el uno (1). No hay nada más que ceros y unos. He ahí la dualidad base desde donde todo se origina, desde donde todo es creado, inicialmente hace falta esa dualidad inicial para crear todas estos objetos tan complejos pero que en un nivel atómico sólo terminan siendo una sucesión de dos elementos, el cero y el uno.

Ahora físicamente dentro de la memoria de un sistema informático ¿cómo se soporta y mantienen todos estos ceros y unos? Con electricidad, una forma de energía. He aquí el Uno de donde sale todo el resto: Energía. Una forma de energía que no difiere demasiado a la que corre por tu cuerpo, la misma electricidad que hace latir tu corazón, que se intercambia en forma de sinapsis entre tus neuronas, que mantiene esa estructura de pensamientos relacionados y recuerdos que constituyen lo que vos llamás mente. Y ahora bien, esa energía, ¿por qué surge? ¿cómo surge? ¿por qué se mantiene? ¿por qué no se pierde? ¿por qué sólo parece transformarse?

A pesar de la separatividad que nuestras mentes hacen entre los distintos objetos vemos que todos en realidad son uno, comparten al final una misma base, una simple energía de la cual todos surgen y la cual todos usan para comunicarse y relacionarse. Claro que los objetos no pueden ver nada de esto, ellos sólo están rondando por allí interactuando entre ellos como entidades distintas a pesar de que surjen de lo mismo y en última instancia terminan siendo lo mismo.






8 comentarios:

juanba dijo...

Este es el primero de dos ensayos que tenía escritos desde hace dos meses atrás.

Nunca encontraba la oportunidad justa para publicarlos, es más, los tenía guardados como "borradores" en deuxmachine. Pero claro, por otro lado ustedes saben que en deuxmachine sólo cuelgo mis escritos de ficción con aspiraciones literarias y un par de ensayos como el que acaban de leer no me daban como para publicarlos allí.

Finalmente decidí colgarlos en Perdido en Maya bajo la virtual categoría "Rompiendo con la ilusión de Maya", ya que el tema que se toca es el mismo que tocan todos los posts que colgaré bajo esa etiqueta.

Bueno, se ve que valió la pena aguantar los escritos. El Viernes o Sábado publico el otro que completa la saga. Hasta entonces.

Salutes gente...

Tadeo Kosma M. dijo...

«• El Tao produjo el Electrón

• El Electrón produjo la Electricidad,

• La Electricidad produjo el "0-y-1" ("tierra-y-cielo"; "yin-yang")

• El "0-y-1" produjeron los "diez mil" objetos»

(Tao-Te-Ching: 42)

¿Estás de acuerdo con la analogía?

juanba dijo...

Tadeo: La analogía pareciera "cerrar" perfectamente. Particularmente no me inspiré en el Tao para escribir el ensayo, pero bueno, parece que es verdad eso de que "a fin de cuentas, todo tiene que ver con todo".

Salutes

Carolina Villafruela . dijo...

Qué ocurre hoy en maya?¿?¿?¿
O_o

juanba dijo...

Carol: En Maya no ocurre nada nuevo, siempre acontece lo mismo, aunque últimamente lo reconozco, hay menos "ilusiones" y mucho más de lo "real".

Cuando cuelgue la segunda parte del ensayo y la compares con ésta, la idea quedará expuesta y más clara.

Salutes

Adriano dijo...

Lo llamativo de este post es que está haciendo referencia a una biología o antropología informática. Es llevar, de modo análogo, el funcionamiento de la vida a otro lenguaje dotado de otra realidad.

Siempre tuve curiosidad por ver cómo funcionaban las cosas; las máquinas por ejemplo. Jamás entendí bien cómo a partir de ceros y unos (sistema binario?) se podía construir infinidad de mundos; cómo podía ser que muchas cosas entraran en un diskette, cómo podía decodificarse todo...

Recuerdo que una vez vi un CPU abierto y un montón de cablecitos. No entendía nada...Y pocos fueron los que me ayudaron a entender en qué consistía todo eso que veía.

Al leer estas líneas, recordé aquellas inquietudes que fueron más latentes en otros tiempos.

Y pienso que, como has dicho en algunas oportunidades, la vida de los seres humanos es un permanente link.

Saludos.

Tadeo Kosma M. dijo...

Saludos a todos.

Hablando de links, aquí les dejo uno que parece interesante El Tao de la Programación.

Yo no entiendo mucho del lenguaje informático, pero seguro que Juanba le saca provecho.

juanba dijo...

Adrián: Sistema binario es el nombre, y sí, en base a ceros y unos se crean infinidad de mundos dentro de un sistema informático. No es tan difícil de verlo, no es más complicado de entender que la concepción de otro otros mundos bajo un sistema físico; en última instancia la concepción de "ceros" y "unos" se realizan bajo un marco lógico pero a fin de cuentas y en el último y más bajo de los niveles todo termina siendo una interacción de cargas que cambian de estado, que se atraen y repelen: energía.

Tadeo: "El Tao de la Programación" es más bien una jocosa invención de alguien con mucho ingenio (y gran sentido del humor). Yo ya lo había leído y en más de un verso me arrancó algunas sonrisas. Ahora bien: hay grandes verdades ocultas allí también, el humor es sólo una forma de enmascararlas para hacer el mensaje más fácil de recibir.

Salutes gente...