Pregunta para informáticos: ¿Está la Naturaleza «orientada a objetos»? ¿Somos pensadores «orientados a objetos»?

Por Francisco R. Villatoro, el 2 agosto, 2011. Categoría(s): Ciencia • Física • Informática • Mecánica Cuántica • Noticias • Physics • Science ✎ 11

Guy Barrand (Univ. Paris-Sud, Orsay, Francia) en «Is nature OO?,» ArXiv, 29 Jul. 2011, nos propone una ontología orientada a objetos para explicar qué significa «observar» en mecánica cuántica y física relativista. El problema de la medida en mecánica cuántica ha dado para muchas excursiones metafísicas, pero la introducción de la orientación a objetos me ha llamado la atención. Según el autor, la clave para entender la microfísica es reconocer que nuestra manera de pensar es, de forma natural, fuertemente orientada a objetos (OO), somos «pensadores OO» y desde tal enfoque debemos resolver el problema de la interpretación de la mecánica cuántica. ¡Ahí va eso!



11 Comentarios

  1. Al ser humano en general, y al ser informático en particular, le gusta clasificar. Parece que si pones las cosas que no entiendes en cajoncitos con etiquetas, las entiendes mejor. (Taxonomías o clases, mismo mecanismo). Esto es muy satisfactorio, pero el problema es que no es verdad, no funciona. En cualquier sistema informático de envergadura, se te acaban comiendo las excepciones. Lo que empezó siendo una arquitectura preciosa e inmaculada acaba taladrada por la realidad, llena de parches y empalmes con alambre.

    Respondiendo a la pregunta: Sí, pensamos «Orientado a objetos», pero no, la naturaleza no se siente obligada a funcionar así…

    1. Soy programador y puedo decir con certeza que puedes trabajar en proyectos muy grandes y todo orientado a objetos y no tener problemas con las excepciones. Eso puede ocurrir en lenguajes como java donde el manejo de excepciones es obligatorio y forma parte integral del lenguaje, pero excepciones esta más relacionado con el manejo de errores que con el manejo de objetos. De hecho en C++ puedes crear todo un programa y solo poner un try~catch y eso es suficiente para manejar las excepciones

      1. No sé qué entenderás por un proyecto muy grande, pero lo que ha hecho victorrg es una exageración literaria típica en informáticos para decir que la realidad no son los unos y ceros a los que estamos acostumbrados.

        De hecho el auténtico «problema con las excepciones» es que no exista un mecanismo de control como todos los informáticos sabemos que ocurre en C++. Y es que si vas a comparar el control que hace Java con C para decir que C te da menos problemas…, mejor no me tires de la lengua.

        De todas formas, como esto es un OFF-TOPIC lo mejor es no ahondar en estas cosas…

  2. ups….necesito leer que es la programación orientada a objetos….:), por otro lado, quisiera felicitarte por este blog lleno de ciencia, en verdad necesitamos mas espacios como estos…o quizá necesite yo buscar un poco mas..jeje….si de casualidad tienes algo por ahi sobre automatización y control ojalá pudieses pasarme….gracias

    Felicidades por el blog!!

  3. Tal vez sí. Necesitamos simplificar la complejidad inabordable de la realidad (partículas interaccionando a velocidad frenética) creando objetos neuronales con propiedades intrínsecas. En realidad esos objetos no existen fuera de nuestra mente, pero sí dentro de nuestra mente. En la realidad existen partículas que interaccionan, en nuestra mente hay entidades fabricadas por nuestras neuronas (átomos, moléculas, células, tejidos, órganos, individuos, grupos, naciones, etc.)
    La física cuántica pone de manifiesto las inconsistencias profundas que existen entre los objetos neuronales con propiedades macroscópicas y las autenticas propiedades de los objetos reales.
    Nuestra mente da por supuesto que existe coherencia total entre la realidad-real y nuestra realidad-neuronal, pero esto es falso más allá del hecho de que podemos hacer predicciones coherentes en el universo neuronal, en el mundo de los objetos inventados. Pero estas predicciones tienen un límite y es la física cuántica la que lo pone de manifiesto.
    En un programa informático sólo existe código máquina ejecutándose en la CPU mientras que para el programador existen objetos con propiedades ad hoc que se relacionan entre sí. Evidentemente esto es una fantasía, aunque funciona a nivel operativo. Es el truco que utilizan los seres vivos para actuar sobre la realidad.

    Saludos.

  4. Desde mediados de los años 60, dentro de lo que se ha denominado «Ingeniería de Software» se han ido sucediendo distintos paradigmas o «metáforas» de programación, todas ellas desarrolladas con la misma intención; hacer que los analistas y programadores al modelar y codificar un determinado software pudieran hacerlo concentrándose en el problema que se prende resolver y no en los detalles de implementación característicos del entorno sobre el que se pretende ejecutar el software -procesador, direcionamiento de memoria, dispositivos de almacenamiento, sistema operativo, etc-.

    ¿Realmente «existen» las partículas tal y como se definen en el Modelo Estandard o son simplemente «metaforas» que nos permiten interpretar una realidad física?

  5. Totalmente de acuerdo con victorrg. La programación orientada a objetos no es mas que un reflejo de nuestra necesidad de clasificar y agrupar, pero el mundo físico no se deja clasificar tan fácilmente. En el Investigación y Ciencia de este mes publican un artículo sobre los efectos cuánticos en el mundo macroscópico que retrata perfectamente esta situación. Básicamente, aunque el mundo macroscópico pueda explicarse a partir de los átomos, las partículas que los componen se hacen notar. Es decir, que aunque el paradigma de ver los átomos como objetos que encapsulan el mundo cuántico funciona bastante bien, el mundo cuántico sigue estando ahí y no podemos ignorarlo.

  6. Un ejemplo locuaz, aunque curiosamente erróneo (como pasa con todas las odiosas comparaciones). No hay más que fijarse en los sistemas gestores de bases de datos orientados a objetos, ¿que de qué hablo? ¡Pues de eso mismo! Se creo una tecnología orientada a objetos hace años y no empezó a usarse nunca. Eso quiere decir que el ser humano en realidad NO piensa orientado a objetos.

    La orientación a objetos se creó, a través de la ligadura dinámica, no para simplificar el código sino para poder implementar de manera eficiente una forma light de polimorfismo. Al fin y al cabo el auténtico polimorfismo, que es como piensa el «ente metafísico», sólo es implementable mediante un paradigma declarativo (hasta hoy día – y en principio).

    Por eso, la creencia de que la orientación a objetos es una manera de simplificar es al contrario: la manera más fácil de programar es sin metodología – cuanto más bajo sea el nivel más fácil es de programar. Al presentar ese cambio de enfoque se presenta la posibilidad de crear métodos a partir de estructuras que no tienen porqué estar implementadas… Un avance para el trabajo en equipo.

    Sin embargo la comparación puede servirle positivamente para expresar una realidad en la física: nosotros clasificamos, como dice victorrg; al margen de que luego se llene todo de códigos alternativos. Pues esa es la manera que tenemos de trabajar – aunque los orientales prefieren sintetizar (no son tan amantes del análisis), y allí hay muy buenos informáticos. No todo está dicho. Cuando un europeo busca la manera de crear una jerarquía de clases, el oriental lo que busca es la manera de relacionar las clases con sus propiedades.

    Y a todo esto, ¿qué hace el cerebro humano cuando observa toda esa nube de fotones a distintas escalas energéticas superponiéndose? Analizarlo y sintetizarlo todo para crear un único amasijo ¿Orientación a objetos? Podría ser una aproximación.

  7. El paper no está dirigido a informáticos si no a físicos y el tema OO es claramente un MacGuffin tangencial. Intenta reconstruir la física de partículas..¡¡ sin partículas !!

    “Physics is made of three components: ideas about nature, mathematics, experiments. QM deals with microphysics based on the maths of the HF (Hilbert Formalism) but still associated with a particle vocabulary. Having the conviction that this undue particle vocabulary is the source of the intuitive discomfort that many people have with ”QM” (including the author), we are going to see if it is possible to reread the HF by avoiding this vocabulary and then restore a clear understanding of the science of microphysics”.

    Por otra parte es una buena introducción (conceptual) a los problemas actuales de la física teorica: QM, QFT, SM, HIGGS, SUSY, QG y ST. Aunque la interpretación que ofrece es incorrecta es una buena pieza de física teórica. Algunos extractos para abrir boca:

    QM
    Para evitar partículas define Hit-source = vector estado; hit-detector = operadores hermíticos; Vacuum of apparatuses = operador hamiltoniano (en QM).

    QFT
    “A simple Hamiltonian cannot model the transmutation of hit patterns (léase radioactividad). We need more sophisticated mathematics for that, and it appears that this maths is nothing more that QFT, in particular QED for electric-charge-hit-sources. Now we can reread QFTs with our hitology ideas: is there some specific set of symbols that maps the VA? In fact yes, we already have that. In a QFT everything is encrypted in the Lagrangian which can be seen as the piece of maths representing the VA”.

    SM
    “It can be defined now as the best Lagrangian discovered so far that encodes all known hit-sources and observed hit patterns. An interesting point in the QFTs is that a ”Lagrangian logic” of its own appears in them. If we take a Lagrangian, it may be deduced from another Lagrangian with less symbols, in particular by applying transformations justified by mathematical symmetry criteria. The Lagrangian of the Standard Model is such a ”less symbols” Lagrangian”.

    Higgs.
    “To model correctly all the ”weak decay” hit patterns, the ”reduction of symbols” procedure requires also the introduction of a ”Higgs” term that can be related to a hit pattern of its own, but a hit pattern not yet seen in any experiment!…a pattern that will guarantee the mathematical consistency of the ”best Lagrangian discovered so far”.

    SUSY
    “This algebraic inflation, originating from the introduction of the ”i” of complex numbers by Schrodinger in his time-dependent equation, culminates in the SUSY maths where we end up manipulating extra dimensions made of Grassmann numbers”.

    QG
    The Higgs term does not solve the integration of gravity in microphysics. The maths of the QFTs is the best candidate we have for microphysics. Nevertheless, gravity still eludes QFTs. The best maths we have for gravity is GR which does not cover a good part of microphysics and in particular the hit pattern transmutations. For almost a century, physicists have been grappling with a difficult problem: we have a good set of maths for meso-macro scales and another set of good maths for microphysics but each has a logic of its own and we have not yet found some appealing common foundation maths to bring them under one common banner! Being able to do that is the challenge of the unification of GR and QM. It is interesting to note that most unification attempts are done at the mathematical level where theoreticians attempt to bring under the same algebra the maths of the HF and the maths of GR. For us it is not so surprizing that these attempts at ”unification by maths” failed so far. It seems that we forget that we deal with physics, and that a part of physics is ideas about what is ”out there”. We don’t quite se how we can unify at the level of the maths if we have not unified at the level of the ideas!

    ST
    As an example we can have a quick look at String Theory. What is it about? Is it the science of one dimensional hits? Do string theoreticians expect to see one day or another spaghetti hits in a detector? Is String Theory only a mathematical trick to have more degrees of freedom for the maths between the input and output states by having, in any case, the goal of calculating the probability distributions of zero-dimensional hits? If the idea of zero dimensional objects is already ruled out by our interpretation, does it make sense to look for a microphysics based on objects of one, or even more, dimensions? What is sure is that if our interpretation is right, it would be highly surprizing that a String Theory for microphysics turned out to be right!

  8. Creo que lo que se intenta con un lenguaje orientado a objetos es agrupar variables de estado y metodos que estan relacionados bajo un nombre. Un objeto es realmente eso, unas variables de estado y metodos que sirven para trabajar sobre ellas. Ahora decir que eso es un «objeto» es solo para darle un nombre, es para hacerle la vida más fácil a alguien que tiene que entender que es una «clase».

    Un objeto programatico puede ser algo tan real como una (representacion programatica de una) impresora, o algo tan abstracto como una ecuacion, y en el fondo siguen siendo variables y metodos agrupados

    1. Si tienes la necesidad de simplificar lo que es la definición de objeto y clase, lo primero es recordarte que esas definiciones provienen de una ciencia exacta, y lo segundo es que objeto no es un concepto creado para entender lo que es una clase.

      Ni por asomo.

      Por otro lado, a las variables y métodos que se agrupan relacionados bajo un nombre hay quien le llama espacio de nombre, que es un concepto casi exclusivo del Visual Basic, y que no tiene nada que ver con la ligadura dinámica. De hecho, eso suena más a lo que es una librería o paquete.

      Si se necesita una simplificación diré que clase es a conjunto lo que objeto es a elemento. La clase es lo que diseña el programador y el objeto es con lo que trabaja el ordenador sin la tutela del programador. Ese es el carácter dinámico que tiene un programa: se diseña de una manera y, en tiempo de ejecución, el sistema se adapta a la realidad que percibe sin que podamos saber (salvo que lo observemos) cuál es el estado del propio objeto.

Deja un comentario