Programación Orientada a Ideas
Hace aproximadamente tres años, cuando veía programación orientada a objetos por primera vez, caí en cuenta de una cosa curiosa, y es que tiene un parecido grande con la Teoría de las Ideas de Platón, en su momento hice un par de bromas con eso y en parte me ayudó a comprender mejor el concepto, pero hace unos días revisité esta idea y me puse a reflexionar sobre el tema, así que, escribo esta entrada para que esas reflexiones no se queden solo en mi cabeza.
Pero primero me gustaría dar una explicación sobre qué es exactamente la Teoría de las ideas de platón. A grandes rasgos, podríamos explicarla como una serie de dualismos para explicar la realidad.
Dualismo ontológico
El primer dualismo es el ontológico, es decir, de la realidad; que consiste en dividir la realidad en dos mundos, por un lado el mundo sensible y por el otro el mundo inteligible.
En el mundo sensible, están las cosas sensibles, es decir, todas aquellas que están sujetas a cambio, mientras que en el mundo inteligible es donde existen las ideas o formas o esencias subsistentes de las cosas.
Un par de ejemplos serían que en el mundo sensible corren los caballos, mientras que
en el mundo inteligible está la idea de caballo.
En el mundo sensible están los humanos mientras que, en el mundo inteligible
está la idea de ser humano.
aunque los ejemplos favoritos de platón siempre refieren a valores: la justicia en sí misma, la belleza en sí misma, la valentía en sí misma.
Una cosa importante para tener en cuenta es que las ideas de platón no son iguales a lo que comúnmente entendemos como "idea", no se refiere al momento en que se te ocurre algo, las ideas de platón no necesitan que las pensemos para existir.
Platón se refería a este concepto como éidos, que se traduce más o menos como idea y viene del verbo griedo éido que significa ver, es decir, el éidos, la idea es algo que se ve, con el intelecto, pero se ve y está fuera de nosotros. La idea de Platón no es una noción mental.
Platón fue altamente influenciado por Sócrates al pensar en esta idea, como seguramente sabes, Sócrates era un señor que andaba por ahí preguntándole a las personas la definición de las cosas, ¿Qué es el amor? ¿Qué es la justicia?
La actividad de Sócrates consiste entonces en preguntar por la esencia, el "qué" de algo. Siendo la esencia lo que permanece por debajo de los cambios o de la posible multiplicidad.
un ejemplo del cambio eres tu mismo: fuiste concebido, naciste, creciste y en algún momento vas a morir, pero en todos esos cambios has permanecido como lo mismo, como un ser humano.
Un ejemplo de la multiplicidad es que hay millones de seres humanos, todos son muy diferentes, pero hay algo que nos hace decir que todos tienen algo en común y es que todos son seres humanos. De esto hablamos cuando nos referimos a la esencia.
El proceso de construcción de la teoría de las ideas empieza cuando Platón comienza a preguntarse ¿Cuál es el estatuto ontológico de la esencia? Es decir, esta esencia que es la respuesta a la pregunta socrática ¿Dónde está? ¿Cómo es? ¿Qué es? ¿Qué tipo de realidad o entidad tiene?
El razonamiento es más o menos así:
Existen actos justos y actos injustos, eso es algo que vemos todos los días, pero no podría
haber actos justos e injustos si de algún modo no existiera la justicia.
O, existen cosas bellas, pero no podrían existir cosas bellas, si de algún modo no existiera
la belleza.
Por lo tanto, esta esencia de las cosas, la justicia y la belleza, tienen que existir.
Si no existieran, no podría encontrarme con estas características en las cosas.
No tendría sentido decir: "esta flor me parece bella" si la belleza en sí misma no existe.
Ahora bien, yo no me encuentro con la belleza por la calle, yo me encuentro cosas que son bellas, del mismo modo yo no me encuentro con la justicia por la calle, me encuentro con actos que son justos o injustos, incluso los puedo hacer yo, pero no creo la justicia, más bien, puedo hacer actos que son justos.
por lo tanto, si la justicia y la belleza existen, y tienen que existir porque si no, no puedo explicar los fenómenos que me encuentro en el mundo sensible, tienen que existir en otro lugar, y además ser de naturaleza no sensible, por que nunca las he visto ni tocado.
P-p-pero Platón, yo a pesar de que nunca he visto ni tocado las ideas las conozco,
las reconozco, por que las reconozco en las cosas, ¿Cómo es posible este reconocimiento?
pues no con los sentidos, sino con la razón. Aquí es donde entra el
siguiente dualismo: el epistemológico que significa del conocimiento.
Dualismo epistemológico
En el conocimiento por un lado tenemos los sentidos y por el otro lado
tenemos la razón.
La razón es la que conoce o reconoce las ideas, esencias o formas a partir de los datos
que nos dan los sentidos.
Hasta el momento, tenemos por un lado dos mundos, uno en el que existen las cosas sensibles y otro donde existen las cosas inteligibles, las ideas o las formas. Además por el otro lado, tenemos dos modos de conocimiento, uno para cada mundo: los sentidos y la razón.
Estos dos dualismos se corresponden a su vez con un tercero,el dualismo antropológico, que divide al ser humano en dos realidades, cuerpo y alma.
Dualismo antropológico
El cuerpo se corresponde con el mundo sensible y los sentidos, mientras el alma se corresponde
con el mundo de las ideas y la razón.
Pero en este dualismo, la relación entre los dos extremos es más conflictiva.
El cuerpo es aquí, en palabras de Platón, la cárcel del alma [Fedón, 82e]. Y el alma anhela por encima de todo liberarse del cuerpo y regresar al mundo de las ideas para contemplar de modo directo el objeto de su deseo.
Volviendo al dualismo ontológico, aquí a cada uno de los dos mundos le corresponde una serie de características que luego se pueden trasladar a cada uno de sus correlatos, a los sentidos y al cuerpo, y, a la razón y al alma.
Estas características van a ser todo el tiempo contrapuestas, por ejemplo, sí el mundo sensible es visible, el mundo inteligible es invisible, sí el mundo sensible es mutable, la sede del cambio, entonces el mundo inteligible es inmutable, la sede de lo que no cambia, de lo que permanece.
Si las cosas sensibles son temporales
Las cosas inteligibles son eternas e invariables
Si las cosas sensibles son corporales
Las ideas son incorpóreas, inextensas y no ocupan espacio
Si lo sensible es mortal
Lo ideático, las ideas son inmortales
Si las cosas sensibles son imperfectas
Las ideas son perfectas
Esto se traslada sobre todo a la posición entre cuerpo y alma, de hecho muchos filósofos cristianos retoman esta idea para hablar de la relación entre Dios y los humanos, además de su idea del alma.
Dada toda esta información, creo que es fácil deducir que para Platón, el mundo de las ideas era más real que el mundo sensible, ya que las cosas, son meras copias de las ideas.
Las ideas son hasta tal punto más reales que las cosas que si no hubiera ideas, no habría cosas tal y como las conocemos y entendemos. Las ideas son el fundamento, la base, la condición de posibilidad de las cosas, de que las cosas sean lo que son y que podamos conocerlas, por que si no hubiera nada estable, ni permanente en el cambio, no podríamos conocer.
Las ideas son la verdadera realidad, todo lo que tienen de real las cosas, se lo deben a las ideas.
¿Cómo se relacionan las cosas y las ideas?
Platón explica la relación con tres metáforas
1) La participación (méthexis)
De abajo a arriba, de la cosa a la idea:
La cosa participa de la idea, la cosa aspira a la idea, intenta parecersele o ejemplificarla,
como si estuviera orientada a la idea y quisiera alcanzar su perfección, la idea es su modelo
y la cosa intenta imitarla.
2) La presencia (parousía)
De arriba a abajo, de la idea a la cosa:
La idea se hace presente en la cosa, la idea se manifiesta en el mundo sensible a través de la cosa.
3) La comunidad (koinonía)
Doble dirección
Hay una cierta comunión o comunidad entre la cosa y la idea, esta está explicada por la
doble relación vista antes.
Eso es un pequeño esbozo de las percepciones de Platón, él a lo largo de su vida revisita, cambia y reflexiona sobre sus pensamientos, por ejemplo: Al principio pensaba que existían ideas tanto de la realidad positiva como de la negativa, es decir, así como existe la justicia, existe la injusticia, pero termina rechazando esto dejando solo las ideas de la realidad positiva, siendo las negativas la ausencia de las positivas.
Más adelante incorpora como ideas a los principios matemáticos y en otro dialogo introduce la figura del Demiurgo que es una especie de Dios o Semidios que, como una especie de escultor, esculpe o modela la realidad material tomando como modelo las ideas.
Otro cambio interesante es la jerarquía de las ideas. Tiene que haber una idea suprema, pero en el dialogo banquete, la idea suprema es la belleza, y en el dialogo la república la idea suprema ha cambiado y es el bien.
Recapitulando, la filosofía de Platón puede estructurarse a grandes rasgos en tres dualismos correlacionados, siendo estos: ontológico, epistemológico y antropológico.
- Ontológico divide la realidad en dos mundos, el mundo sensible y el inteligible
- Epistemológico divide el conocimiento entre los sentidos y la razón
- Antropológico divide al ser humano en cuerpo y alma
En estos dualismos la primacía siempre le corresponde al extremo
no material y no sensible, es decir:
a las ideas respecto de las cosas,
a la razón respecto de los sentidos,
y al alma respecto al cuerpo.
Por último hemos visto que existe una cierta comunidad entre las cosas sensibles y sus ideas que explica su relación, las cosas participan de la idea y la idea se hace presente o se manifiesta en las cosas.
La clave de todo esto está en darse cuenta que platón defiende que sin las ideas, sin las esencias o formas como realidades subsistentes separadas, no se puede explicar el mundo sensible, el mundo de los fenómenos tal y como lo conocemos, las ideas son el modelo de las cosas y las cosas son una mera copia, sin el modelo no se podría explicar la copia.
Pero al final del día, ¿Qué tiene que ver todo esto con la navidad?
Pues todo, la programación orientada objetos parte de una idea muy similar, a grandes rasgos consiste en abstraer objetos de la vida real a código, a través de sus propiedades y métodos, las cosas que la hacen ser lo que es y como interactúa con su entorno. Es decir, en lugar de tener una variable llamada temperatura, tenemos un objeto llamado termómetro, que tiene una propiedad numérica que refleja la temperatura actual, dato que nos entrega a través de un método, y a través de otro método va cambiando constantemente. Es, efectivamente, la idea de termómetro representada a través del código, por poner un ejemplo rápido.
Cuando escribimos software, y extraemos todo el pensamiento procedimental (procedural) de nuestro código y nos centramos únicamente en utilizar objetos, el objeto se convierte en una abstracción en software de la realidad.
Cuando escribes software, estás plasmando tus ideas, tus conceptos, en código. Ideas que viven en la máquina que lo ejecuta, a través de sus comportamientos e interacciones con otros objetos, todas definidas por ti. Cada programador es el Demiurgo que toma las ideas y las moldea para formar cosas sensibles, proyecta su mente sobre el software.
Pero, ¿Con qué finalidad? Trasladar esas ideas a los demás, por supuesto, ¿Para qué más puede ser? Es para visitar ese territorio inhóspito, esa región de la que todo emana, el mundo de las Ideas, con el objetivo de traer el tacto de lo abstracto, un extracto de lo perfecto y plasmar ese vistazo en una cosa sensible pero intangible sobre el silicio. Muy parecido a como hace el artista. Yo diría que exactamente igual a como hace el artista.
Podríamos incluso extrapolarlo al nivel del lenguaje, por que al final, un lenguaje de programación
no es muy distinto a un lenguaje como el que hablas tú y el que hablo yo, es un lenguaje para
comunicarnos con las máquinas, exactamente igual que el español y el inglés nos ayudan a comunicarnos
con otras personas.
Las palabras son un acuerdo mutuo, es darle significado a una serie de sonidos y símbolos para
representar ideas, y que, puestas en conjunto, representen ideas más complejas y transmitirlas a
otros. Esto forma una correspondencia directa entre Palabra, Idea y Software.
¿El lenguaje es una representación del mundo de las ideas del que hablaba Platón? ¿O, realmente los lenguajes SON ese mundo de las ideas? ¿Cual es el papel del software en todo esto? ¿Hasta que punto estamos creando una nueva capa sensible, pero intangible?
Por que, estamos creando cosas sensibles, pero intangibles, nada más que a través del contacto que podemos tener con las ideas a través de la razón, son cosas que se manifiestan en el mundo sensible, porque podemos verlas, podemos interactuar con ellas a través de nuestros periféricos y si lo llevas a la electrónica utilizando un Arduino o una Raspberry Pi puedes incluso hacerla interactuar con el medio, creando un sistema de riego automático o cualquier cosa.
¿Son los objetos en el software de naturaleza sensible o ideática?
Let's all love Lain <3.