Finalmente será la Singularidad la que generará código y hará que ningún humano vuelva a programar

No será ni el MDA, ni el MDD, ni las viejas CASE ni similares inventos. No. Será la teoría de la Singularidad Tecnológica la que enterrará para siempre aquello de que los humanos programen. Y hará que por fin, y para siempre, sean las máquinas las que generen software. Es decir, que se creen así mismas, sin necesitarnos para nada.
¿Te suena a ciencia ficción? A muchos les sonaba a eso… hasta que Google se puso a invertir en la Singularidad Tecnológica. Pero antes, por si no estás familiarizado con el tema, déjame que te cuente un poco en qué consiste…

Singularidad Tecnológica: la tecnología evoluciona de manera exponencial, así que todo avanza cada vez a más y más velocidad

Según la Singularidad, la tecnología no evoluciona linealmente… lo hace de manera exponencial. Es decir, que avances tecnológicos que en los 80 ni imaginabas, en los 90 ya eran una realidad y la siguiente década algo trivial.
Por ejemplo, si a la tecnología le costo x años crear la telefonía móvil, le costó la mitad de tiempo tener móviles manejables, de consumo, y menos de un tercio del tiempo en tener móviles inteligentes… la tecnología creció de manera exponencial.
Hay muchos ejemplos, como lo que costó crear “Deep Blue” de IBM (que en el 97 venció a Kasparov, campeón mundial de ajedrez) y lo rápido que ya se ha superado su tecnología. O el proyecto Genoma, al principio impensable su terminación y hoy una realidad.
Y avances como los anteriores, a su vez, disparan la rapidez con la que se consiguen nuevos logros tecnológicos. Y si la tecnología es más potente cada vez, y además lo es cada vez más y más rápidamente… llegará el momento en que la inteligencia artificial supere a la humana.
Momento en el cual, lógicamente, no nos necesitarán para que las diseñemos, programemos, testemos, planifiquemos el proyecto ágil que las construya, las hagamos en Lean o creemos generadores de código desde especificaciones de alto nivel. Sencillamente, se programarán ellas solitas. Y, a juzgar por los números, son muchos los investigadores en informática que quieren ayudar a las máquinas a que puedan hacerlo (o échale un vistazo a estos números)

Ver este vídeo en YouTube.

Te dejo un vídeo que cuenta en 49 seg. el crecimiento exponencial de la tecnología, y que no deja de tener un toque Skynet (el malvado ordenador de Terminator) cuando predice que, según la teoría de la Singularidad, allá por el 2030 las máquinas serán consideradas inteligentes.

¿Ciencia Ficción?

Sí, suena un poco a ciencia ficción. De hecho, el término “Singularidad tecnológica” lo popularizó un tal Vernos Vinge, escritor de novelas de ciencia ficción.
Pero para muchos ha dejado de serlo tanto cuando el tema se ha integrado en la realidad de las industria tecnología de hoy, principalmente desde que Google ficho a Ray Kurzweil como director de ingeniería. Y Ray Kurzweil, es hoy el mayor investigador y representante de la Singularidad (si quieres terminar de sumergirte en el halo de misterio, suspense, futuro – tecnológico te recomiendo ver la entrevista de Punset a Ray Kurzweil).

Algo más…

Hoy es difícil no imaginarse cualquier cosa en un mundo en el que un Robot se mueve dirigido por trozos del cerebro de una rata (ver video) o en el que hay coches que ya han recorrido 500.000 Km sin conductor (y sin accidentes).
De momento el software que desarrollamos no es muy inteligente, aunque sí rápido y bueno ejecutando ordenes. Pero está lejos de crear poesía o arte. Y si en el futuro lo que nos espera un Skynet o un Matrix… por mí que siga siendo así de tonto por los restos.

Javier Garzás

0 comentarios en “Finalmente será la Singularidad la que generará código y hará que ningún humano vuelva a programar”

  1. MDA es un subconjunto de MDD. Es como decir: no serán los coches, ni los turismos de gama baja, los que destronen a los caballos.
    http://modeling-languages.com/relaci-n-entre-mdamdd-y-mde/
    A parte de eso, estoy de acuerdo con lo que dices. El software de hoy en día es una mierda pinchada en un palo. Se hacen auditorías para ver que el rack del servidor tiene un candado, pero del software que contiene, nada de nada. Ya veremos por donde tira el mundo del software…

  2. Un interesante debate. Cierto que la tecnologia avanza exponencialmente, y es imposible seguirla (al menos para mi) ¿Entonces, en que espealizarte? Porque es imposible dominar todos los lenguajes, herramientas, metodologías, frameworks. Y lo que dominas, pasa un tiempo y se olvida. A menos que te enganches al ordenador (lo cual hemos hecho de jóvenes) pero los cuarentones como yo y con una vida familiar no se puede compaginar. Entonces .. ¿Cambio de profesion? ¿Alguien tiene alguna sugerencia?

    1. Yo creo que nuestro destino es constantemente especializarse y des-especializarse, meterte con una tecnología y pasar a otra, porque la primera habrá quedado obsoleta.
      El problema, como dices, es que hay que hacerlo… mientras «el cuerpo aguante», y el problema está cuando no lo haga

    2. «Capacidad de desaprendizaje» se llama la película a mi entender (si la mala traducción de Unlearning se me permite).
      Lo importante será la capacidad de analizar y sintetizar constantemente en dominios independientes de las tecnologías concretas, a la par que la capacidad de tender un puente entre las necesidades de usuarios que desconocen la tecnología y aquellos capaces de sintetizar las soluciones necesarias empleando la maquinaria adecuada.
      Vamos, digo yo.

      1. Eso creo que no lo podemos evitar. Seguro que todos tenemos en la cabeza algo a lo que nos dedicábamos hace unos años, en cuerpo y alma, y ahora ni nos acordamos de ello.
        Recuerdo los tiempos de Clipper…
        Lo peor es que cada vez vaya más rápido el tener que actualizarse

  3. Pingback: Bitacoras.com

  4. Personalmente, veo todo esto muy de ciencia ficción, por no decir precipitado. Por poner un ejemplo, todavía no existe un computador capaz de jugar al Go al nivel que se ha logrado con Deeper Blue. También hay muchísimos avances en NLP, pero no le pidas que sepa manejar ironía, sarcasmo, etc. como lo haría un humano, y mucho menos cualquier idioma que no sea el inglés. Hay todavía muchísimo por recorrer, y no creo que estas ideas (un poco peliculeras) lleguen a salir de las novelas.

    1. Normalmente, con el tiempo, las novelas de ciencia ficción son vistas casi con condescendencia si no se tiene en cuenta cuando fueron escritas y el mérito que era tener ciertas visiones.
      Ganar al Go a un maestro sólo sería un hito tecnológico como cota de capacidad de cálculo. De lo que yo entiendo en el post, lo crítico sería conseguir una máquina que diseñara el algoritmo para ganar al Go y lo implementara.
      En cualquier caso, creo que ese ejemplo (como el de Deep Blue y similares) sirven como cotas, no como modelos para el día a día. Hay miles de casuísticas por debajo del nivel de complejidad que tendría ganar al Go y que son perfectamente asumibles a medio plazo desde el punto de vista de la automatización del código a mi entender.
      Saludos!

  5. He de confirmar que lo apuntado por Javier es totalmente cierto.
    Y lo digo porque precisamente mi tesis doctoral iba en una de esas direcciones: explorar los mecanismos necesarios para que un sistema software pudiera modificarse a sí mismo en tiempo de ejecución, sin interrumpir sus procesos en ejecución. Aunque mi contribución era la exploración de los mecanismos en sí que lo hacían posible y las dificultades asociadas en un contexto MDD, como resultado de la investigación conozco trabajos que estaban explorando como generar automáticamente los planes de cambio del software.
    Por ejemplo, una rama bastante antigua es la que deriva de la programación genética, que consiste en que el programa genere por sí mismo sus propias instrucciones máquina para cumplir el objetivo fijado (aunque la tecnología es bastante ineficiente y había muchos desafíos). Hay ya algunas patentes basadas en dicha tecnología y que se han aplicado para generar automáticamente chips electrónicos o incluso robots móviles (eran del tipo gusano, muy curiosos).
    Es un campo muy interesante, pero que también puede dar un poco de miedo si vemos más allá. Es en este sentido donde el libro de Hoftstadter (Godel, Escher, Bach…) sirvió como fuente de inspiración y donde podréis observar conceptos como la reflexión computacional, término usado para describir la capacidad de un sistema software de reflexionar sobre sí mismo.

    1. Ya comenté en otro post acerca del GEB. Creo que es lectura imprescindible para ver estos temas desde otros puntos de vista.
      Aprovecho porque me toca cerca! Igual que mencionas el asunto de programación genética, otros modelos como la computación mediante membranas y otras analogías biológicas pueden llevar a sistemas similares.
      Saludos!

      1. Exactamente Dani! Los modelos de computación mediante membranas, siguiendo analogías del campo de la Biología, también son otras líneas de investigación activas interesantes, con cierto parecido a los modelos químicos (máquinas químicas abstractas) y que también han sido utilizados para explorar cómo podrían describirse sistemas software capaces de cambiar dinámicamente, aunque desde un punto de vista más formalista.
        Y sobre lo que comentaba Javier Garzás de que aún queda para que los ordenadores sean capaces de crear poesía o arte… es cuestión de tiempo. Recuerdo un trabajo en el que se mostraban pinturas (abstractas) generadas por un ordenador, basadas en unos parámetros de forma y estilo a respetar, y los resultados eran bastante buenos. Y en lo que se refiere a generación de poesía, una búsqueda en bases de datos de artículos científicos devuelve bastantes resultados; otra cosa es el nivel de los resultados obtenidos, que seguramente aún estarán en una fase temprana, pero es que sino no estarían en fase de investigación 😉
        Saludos!

  6. Jamás el hombre dejaría suceder tal singularidad sin estar detrás de ella. La realidad de Google y muchos mas y el control a través de la invasión de la privacidad, recabando información inimaginable de la gente. Ciertamente información procesada con sistemas de análisis altamente complejos de tendencias, estadístidiscas y demás, con los cuales puede llegarse a controlar a la gente, en el como piensa, que hace, y demás.
    El mundo está en colapso? cierto, pero no como muchos piensan, que mañana se va a terminar, es un proceso que lleva tiempo, y si será mañana en la escala del tiempo histórico, asi como ha sido todo lo que hemos vivido a lo largo de la historia, todo lo nuevo pareciera que ha sucedido en un abrir y cerrar de ojos, de igual manera esta nuestro fin en el mañana. Dicen la predicciones que habrá un gran lider, bla bla que moverá al mundo entero y lo gobernará y bla bla, que no lo ven en Internet? que no ven que a traves de este medio, alguien le puede hablar a miles de millones de personas y transmitirles mensajes que pudieran no ser, que pudieran ser mensajes manipuladores, que pueden poner a unas personas en contra de otras y ellos ni en cuenta, que pasaría si google que maneja mas de mil millones de cuentas junto con tweeter y facebook se propusieran a utillizar la información que tienen, conociendo perfectamente como pensamos, que escribimos, en que términos escribimos, hicieran circular mensajes supuestamente generados por nosotros?Que dirán? Fue la rata. No señor, la humanidad se ha expuesto sobremanera. Yo le he pedido a google una explicación de sus mensajes cuando firmas
    Aqui esta mi mensaje … y si Usted que seguramente a firmado no una, sino muchas veces, ni en cuenta
    Autorize a Googlea user mi cuenta (en este caso de Twitter)
    Ya el término me parece algo extraño y fuera de lugar, autorizarlos a que usen mi cuenta? o no entiendo bien español, o bien, es algo que escribieron mal, al menos eso pensé, porque sea la cuenta que sea, en el momento que autorize a alguien a USAR mi cuenta de lo que sea, ya no tiene privacidad.
    Luego dice …. Google será capáz de leer los tweets de mi cronología .. Bueno, supongo que cualquiera puede hacerlo, LEER mis twits, mas no sé si se refieren a los que me envían personales o los que yo envío personales … quiero que me quede eso bien claro.
    Luego dice … Ver a quien sigo y seguir a nuevas personas
    A caray, Ver a quien sigo, creo que todo mundo puede verlo
    pero seguir a nuevas personas? que quieren decir con eso? Que así como yo le doy seguir a alguien que elijo, Google lo hará por mí? me hará seguir a alguien que yo no elejí? Quiero que me quede claro por favor.
    Por cierto, El término que usan «Leer Tweets de tu cronología» está equivocado, Tweet esa una cosa y Twit es otra, serán Twits, no Tweets, en los diccionarios de Cambridge o el Webster pueden consultar.
    Luego dice … Google podrá actualizar mi perfil.
    Como es eso? mi perfil tiene datos personales que Ustedes pueden cambiar? O si yo no he puesto algunos, resulta que Ustedes los van a poner como si lo hubiera hecho yo? Por favor Expliquenme bien eso
    Luego dice … Google podrá publicar Tweets por mí.
    Dios Santo, o sea que Google puede enviar un twit como si yo lo hubiera escrito? o como?
    Ahora bien, si eso mismo lo hicieran, ya no digo en Twitter, sino en mi cuenta Google, pues entonces estamos en graves problemas, y no dejaré de darle seguimiento mientras no tenga una explicación clara, pues creo que no solo yo, sino miles de gentes inocentes no saben exactamente que es lo que autorizaron y es mi obligación moral en defensa y protección de mi privacidad y la de la de los demás, que algo así esté bien claro.
    Gracias por sus atenciones
    Esperando pronta respuesta, quedo de Ustedes
    como su atento y seguro servidor
    Oscar
    Acaso crees que alguien no se robará esta inquietud mía y la tomará como propia?, porque no habría de hacerlo Google o Tweeter?
    Saludos

  7. Pingback: Sexto aniversario de este blog (algunas estadísticas del blog y reflexiones) - Javier Garzás | Javier Garzás

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Ir arriba