El Futuro de la Programación (1)

El gran Microsoft User Group de Argentina cumple 18 años de existencia. Recuerdo cuando comenzó como un desprendimiento de otro grupo (el Club Byte) y los idas y vueltas de su crecimiento. Antes de la llegada de las redes sociales y la ubicuidad de la web, fue el lugar donde se podía discutir en persona, compatir intereses, dudas y descubrimientos. Cuando llegó a los 10 años, dí una charla sobre la historia de la programación. Creo que es apropiado ahora ponerme a escribir sobre el futuro de la misma.


En estos días, vuelvo a leer la conferencia de David Hilbert, en el Congreso Internacional de Matemáticas, Paris, 1900. En el principio, encuentro:


¿Quién de nosotros no se alegraría de levantar el velo tras el que se oculta el futuro; de echar una mirada a los próximos avances de nuestra ciencia y a los secretos de su desarrollo durante los siglos futuros? ¿Cuáles serán los objetivos concretos por los que se esforzarán las mejores mentes matemáticas de las generaciones venideras? ¿Qué nuevos métodos y nuevos hechos descubrirán las nuevas centurias en el amplio y rico campo del pensamiento matemático?


La historia nos enseña que hay continuidad en el desarrollo de la ciencia. Sabemos que cada época tiene sus propios problemas, que la época siguiente o bien resuelve o bien desecha por estériles y reemplaza por otros nuevos. Si tuviésemos una idea del desarrollo probable del conocimiento matemático en el futuro inmediato, deberíamos dejar pasar ante nuestras mentes las preguntas no resueltas y examinar los problemas que la ciencia de hoy plantea y cuya solución esperamos del futuro. El día de hoy, a caballo entre dos siglos, me parece muy adecuado para hacer una revisión semejante de los problemas. Pues el cierre de una gran época no sólo nos invita a mirar hacia el pasado, sino que también dirige nuestros pensamientos hacia el futuro desconocido.


Ver


http://aleph0.clarku.edu/~djoyce/hilbert/problems.html


El tema programación es muy dinámico, y no me atrevería a encarar la historia del próximo siglo. Pero puedo ir explorando algunos puntos.


Primero, siguiendo a Hilbert, voy a examinar algunos problemas que le quedan pendiente al tema programación. Revisaré la historia de cada problema, la tendencia actual, y cómo podemos proyectarla hacia el futuro. Esa proyección podrá ser para dentro de cinco años, diez o más décadas. Más allá de eso, no creo que pueda avanzar con cierta seguridad.


Segundo, aparte de plantear problemas generales, puedo ir planteando la pregunta final: ¿cuál es la programación que se usará en la Enterprise de Star Trek? Pueden leer que algo ya había encarado en un post:


http://msmvps.com/blogs/lopez/archive/2010/05/09/el-software-de-la-enterprise.aspx


Tercero, quiero destacar desde ahora algo: quienes estén leyendo esto, probablemente sean personas interesadas desde el vamos en la programación. Y todo este ejercicio podrá parecer apenas una especulación, un divertimento para programadores. Sin embargo, levanto la mano y digo: la programación, y su producto inmediato, el software, ha cambiado la historia humana. No sólo la programación: ha sido acompañado por el avance en hardware, y en comunicaciones que posibilitaron que desde hace décadas tengamos Internet (vean que es un “subproducto” de la guerra fría). Pero de una u otra forma, es necesario poner explícitamente: el futuro de la programación no es un tema menor. Lo que sí moderaría es: ese futuro será moldeado por muchas fuerzas, y apenas puedo hoy escribir algo de eso. El futuro vendrá y nos sorprenderá con algo, más allá de lo que esperamos.


Por ejemplo, cuando yo era un niño (sí, ya sé, desmiento que en aquel entonces todos los continentes eran uno solo; ya en mi infancia se había iniciado su separación :-), se especulaba que en estos tiempos íbamos a tener estaciones ubicadas en la luna, y que en vez de autos íbamos a volar en vehículos individuales (los de mi edad recordarán “Los supersónicos”, con nombre original “Jetsons”). Vean que no pasó nada de eso. Si bien Julio Verne pudo anticipar los submarinos, el cohete espacial y otros eventos, hay que buscar mucho en sus escritos para atisbar algo parecido a lo que es hoy Internet o su encarnación más presente, la Web. El más moderno Asimov, puso énfasis en robots, y apenas en alguna computadora Multivac: nunca puso en el tapete la posibilidad de tener una red que nos uniera (excepto quizás en alguna parte final de su “La última pregunta”), ni nunca reparó en la importancia de la programación como actividad separada (que apenas asoció con la configuración de harilidware).


Todo esto indica, que el trabajo de generar programas, la programación, llegó por sorpresa a la actividad humana.


Volvamos al tema problemas. ¿Qué problemas actuales guiarán el futuro de la programación? Propongo una lista, a explorar en futuros posts:


- Escalabilidad: atender una cantidad variable de usuarios clientes, sin morir en el intento.


- Ubicuidad: que los programas se encuentren disponibles desde cualquier lugar.


- Comunicación: que los programas puedan comunicarse entre sí.


- Composición: que un programa se pueda armar componiendo otros programas.


- Agentes: que los programas, más que una herramienta (algo que usamos, como una pala, para excavar un pozo) sean agentes (algo que actúa, como una persona que excava por nosotros)


- Inteligencia Artificial: que los programas consigan niveles de “pensamiento” humano


- Creación: que los programas sean creativos, no sólo que funcionen como los programamos


- Actuando en cuerpos autónomos: digamos, robótica autónoma.


- Generación automática: programas haciendo otros programas


- Nuevos lenguajes: o vino viejo en nuevos odres, evolución de los paradigmas.


- Desaparición: ¿cuándo desaparecerá la programación?


Me parece una lista interesante para ir explorando. Por ahora, basta con estos elementos. Si tienen algún otro problema a investigar para el futuro, me avisan por acá.


Nos leemos!


Angel “Java” Lopez


http://www.ajlopez.com
http://twitter.com/ajlopez
https://github.com/ajlopez


 

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

One Response to El Futuro de la Programación (1)

  1. Juan Quijano says:

    Angel, yo añadiría un tema más para un artículo que trate sobre la complejidad, ese monstruo que no para de crecer y que pudiera dar para un buen artículo de especulación.

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>