La Desaparición de la Programación

Hace unos meses, escribí:

El Futuro de la Programación

Donde enumeraba unos puntos a considerar y a resolver sobre lo que nos espera en el futuro. Muchos de nosotros tenemos la programación como profesión, y además nos fascina. Pero ademas de lo que nos puede gustar, tenemos que ver cuál es el impacto en la sociedad y en la historia humana.

Para mí, el desarrollo de software apalanca gran parte de las actividades humanas. Recordemos lo que era el diseño en arquitectura hace unas décadas, o lo que era comunicarse con otra persona usando solamente un teléfono. O intercambiar trabajos por correo físico. Lo que ha influido el desarrollo de software en todo esto, es grandísimo. En algún milenio que viene, verán a la prehistoria humana como la época donde no había información digitalizada ni software ni hardware. Tanto la información como su proceso, se han incrementado en varios órdenes en los últimos tiempos (tendría que revisar el final de “La conexión cósmica” donde Carl Sagan clasifica las civilizaciones por la cantidad de datos?/información? que producen y manejan).

Es por eso que es importante (no solamente interesante) plantearse esas cuestiones, y preguntar también por el futuro de nuestra profesión. No para hacer lo que nos gusta, sino para ver en qué forma podemos contribuir a que todos estos cambios sean para mejor. Por eso planteaba varios de los puntos de ese post, y uno era:

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

Pienso que tenemos que explorar el camino: hacer desaparecer la necesidad de nuestra profesión. No creo que desaparezca, pero es un buen ejercicio ver qué se puede hacer para que el desarrollo de software no sufra la falta de programadores, y hacerla crecer (¿quizás apalancada con software más “inteligente”?)

En una lista de correo, alguien planteó que esto es “una falta de respeto” a la profesión. Bueno, estuve meditando, y no encuentro falta de respeto en mi postura. Es como quejarse de falta de respeto a los cirujanos porque alguien invente curar la apendicitis con una pastilla. O de falta de respeto a los dibujantes técnicos ante la aparición del Autocad. Todo cambia en las actividades humanas, y tenemos que explorar (noten el verbo, explorar) ese camino: ver cómo podemos acercarnos a la desaparición de la profesión. Como puse antes, no pienso que desaparezca, sino que cambie, y veo que tenemos una ventana de oportunidad para mejorar y conseguir más con menos. Si menciono lo de la lista de correo, es porque me asombra que se pueda interpretar de esa forma lo que escribo. Por favor, que nadie lo tome así. Recuerden el objetivo: mejorar en lo que podemos aportar a las actividades humanas, más allá de la profesión o de lo que nos guste hacer. Si podemos aportar más, con menos, creando agentes u otras formas de escribir software, o haciendo la programación más fácil, ¿por qué no hacerlo?

Yo respeto mucho a las tecnologías que han podido hacer que más personas tengan acceso a hacer cosas. En el ámbito de la programación,  podría poner como ejemplo a Ruby on Rails: claro que por abajo es un código enrevesado, inflado, con cosas demás o que podrían mejorarse mucho. Pero ese no es el punto principal. El punto es que ese código (“horrible” si quieren verlo) ha posibilitado la creación de más software, y no me queda duda que ha sido para mejorar. Tomemos PHP: ¿quién no ha criticado a PHP como lenguaje? ¿cuánto tardó para tener una implementación de objetos aceptable, y namespaces? Sin embargo, ahí está PHP alimentando a WordPress, Facebook y otros sitios. Rasmus Lerdorf y otros, con PHP, cambiaron la historia humana. En estos ejemplos, pienso que es importante separar lo que nos gustaría que fuera en lo técnico (mejores clases en Rails, con mayor separación de “concerns”; mejor implementación básica de PHP; etc…), de lo que realmente son: grandes herramientas que han hecho posible tantas cosas.

En estos últimos años me he ido alejando de la posición de “ingeniero de software”, deteniéndome en todos los detalles técnicos que podría mejorarse en una implementación, o declamando sobre todos los patrones y “mejores prácticas” que tenemos “casi la obligación” de aplicar, porque si no, lo que hagamos será “poco profesional”. Lo que me importa al final del camino: el valor que una herramienta puede aportar (y el costo de conseguir ese valor).

But I digress… Volvamos a la “desaparación” de la profesión y a la generación del software.

Los que me leen (digamos yo y mi tía Carlota ;-), saben cuál es el camino que quiero explorar en eso que planteo más arriba: la aplicación de la inteligencia artifical a la creación de software (perdón, de nuevo, ¿es “falta de respeto” a los jugadores de ajedrez la creación de un Deep Blue que le gane a Kasparov? para poner otro ejemplo).

El otro camino: hacer que la programación esté al alcance de gente que no es profesional del tema. Habrá que discutir cuál es la forma para esto: ¿mejores lenguajes? ¿formas visuales de programar? ¿ecosistemas de pequeños módulos que interactúen por Internet, y que cada uno pueda sumar su módulo? ¿”application stores” que puedan ser llenadas por aplicaciones generadas por no programadores? Hay mucho para investigar en este tema.

Pero, como decía Perón: “mejor que hablar es hacer, mejor que prometer es realizar” (bien, ya veo que con mi suerte para ser interpretado, esta frase va a tener derivaciones políticas ;-). Si ven lo que escribo cada día, en código o en posts, casi siempre toca alguno de los caminos mencionados arriba: o hacer programas que creen programas, o hacer que la programación esté al alcance de más personas, sean programadores profesionales o no. Todo dentro de lo que puedo ver, pensar y hacer.

Los invito a pensar sobre estos temas, y también a hacer. Por ejemplo: ¿es importante este tema, el futuro de la programación y “luchar por su desaparición”? ¿o realmente el futuro será el que diga que hacer? ¿hay que acercar la programación a más gente? ¿o es mejor cultivar la profesión y mejorar como profesionales? ¿es un “o” exclusivo? Y ante la respuesta que pueda encontrar cada uno, hacer algo para acercarse a ella.

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

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

5 Responses to La Desaparición de la Programación

  1. Hugo says:

    Todo este tema de hacer que gente no técnica aprenda a programar se debe a lo siguiente:

    Hay pocos programadores
    Hay mucha necesidad de programadores
    Los programadores pueden exigir buenos sueldos

    Ergo, las empresas van a apoyar cualquier iniciativa que haga que un chico de 14 años aprenda a programar.

    En cuanto a la desaparición de la programación como profesión, sería el colmo del desempleo tecnológico. El automatizador automatizado. Creo que genera un planteo mayor sobre la necesidad de trabajar y percibir un sueldo en una sociedad automatizada.

  2. dseminara says:

    Muy interesante planteo, yo pienso que la programacion como profesion podria desaparecer en alguna proxima gran revolucion industrial

    Asi como fue una revolucion tecnologica el nacimiento de la computacion y la informatica, (y por consecuencia, el nacimiento de la programacion como profesion), una proxima revolucion tecnologica podria traer el final de la programacion, para reemplazarla con otra cosa

    En cada gran revolucion tecnologica de la historia hubo profesiones que desaparecieron, o se transformaron drasticamente.
    Por ejemplo con las telecomunicaciones desaparecio la correspondencia.. no ,mentira. Sigue existiendo pero transformada en otra cosa, ahora se usa para cosas muy formales, para envio a domicilio de cosas que se compran por internet, etc… (ya se esta planeando reemplazar al clasico cartero con drones, pero eso ya es otro tema)

    Pero, Si la programacion desaparece? con que se reemplazaria? que clase de revolucion cambiaria las cosas de una manera en que la programacion ya no exista mas por dejar de ser necesaria?

    Lo unico que podria imaginar ahora es la Singularidad Tecnologica, la cual obviamente son por ahora solo teorias de futurologia, pero plantea como el desarrollo se potenciara como nunca antes en la historia, cuando el humano y la maquina se conviertan en una misma cosa, la cybernetica y la biologia llegarian a convertirse en ciencias mas que hermanas (algun dia llegaran a ser la misma ciencia), las barreras que distinguen a las maquinas (computadoras) de los seres humanos desaparecieran y por lo tanto ya no existira la necesidad de que un humano (programador) le hable a la maquina (programada) mediante un lenguaje de programacion, y por ende la programacion ya no tendria razon de ser.

    En lugar de que un programador construya un programa para hacer que la maquina haga lo que el desee, directamente el programador sera la misma maquina (y humano) y esos deseos se realizaran por interfaces nerviosas-electronicas. Ya no habria necesidad de hacer programas de manera que la “parte cybernetica” ejecute tareas sin ser supervisada ya que la conexion directa a nivel fisiologico permitiria controlar los componentes “electronicos” en cada nanosegundo, como si el cerebro humano y el microprocesador de la computadora estuviesen directamente conectados, pero seria mas que eso: neuronas biologicas y circuitos electronicos se usarian como componentes basicos para construir un mismo cerebro-procesador

    Bueno, esa es la unica manera que imagino que la programacion podria desaparecer, y por las estimaciones (optimistas) de los teoricos de la singularidad, aparentemente esto podria pasar en 30 o 40 anios

    @dseminara

  3. gorlok says:

    Desde siempre se especula con que algún día la programación desaparecerá… o al menos en la forma como la concebimos hoy.
    Y sin embargo, han cambiado los lenguajes, las herramientas, creció exponencialmente la capacidad de las computadoras año tras año… pero la programación no cambió mucho desde sus orígenes realmente. Tenemos 4 o 5 paradigmas principales, muchísimas prácticas, patrones de diseño, hemos contruido capas arriba de capas, y un largo etc., pero al final siempre volvemos a los mismos problemas, y en el fondo la productividad de un programador se mantiene sin mucho cambio: cierta cantidad de lineas por hora o como quiera medirse (si puede medirse).
    En un sentido más amplio, creo que siempre vamos a necesitar “programadores”, en el sentido que siempre vamos a necesitar personas que “piensen”, que sepan analizar y resolver problemas, transformando su entorno y mejorarlo. El análisis de sistemas es muchísimo más amplio que la mera programación y la computación, que es apenas la herramienta habitualmente usada para plasmar algunos resultados. Quienes estamos en el ambiente conocemos de sobra cómo la introducción de sistemas en las empresas es una vía de transformación y mejora impresionante, que va mucho más allá de la mera “computación”, sino que es una fuerza que empuja a repensar y mejorar a todos los procesos y sistemas en si mismos.
    Si alguien está preparado para un mundo cambiante, creo que serán los programadores (o mejor, en un sentido más amplio, los informáticos). Está claro que hay buenos y malos programadores: están los que aprendieron algo y por imitación lo repiten hasta el cansancio, sin ir nunca más allá ni incorporar nada nuevo en el camino. Tienen miedo al cambio, y no espero mucho de esa estirpe. Pero cualquier buen programador siempre está explorando, aprendiendo, abraza al cambio, y está en la búsqueda constante de la mejora… no hay NADIE mejor preparado para el cambio que un programador/analista/informático. ¿Preocupación ante el cambio? Todo lo contrario, un buen programador está hambriento de cambios :), el cambio es la transformación. Cuando algo no cambia, es porque ya está muerto.
    Mientras el mundo requiera de gente pensante, se van a necesitar programadores, aunque tal vez no escriban código como lo hacen hoy en día y tendrán otras herramientas para plasmar sus ideas que trasnformarán al mundo ;)

  4. German says:

    Que nunca se termine este bendito curro, porque no me veo trabajando “en serio” :D (sobre automatizar la programación).

    Sobre hacer que la programación esté al alcance de gente que no es profesional del tema, eso solo me genera resentimiento. No es justo que alguien haga lo mismo que yo sin haber tenido que aprenderse punteros, o lidiar con el garbage collector. No señor, no!!

  5. Que la programación (en la forma que la conocemos hoy) va a desaparecer, es muy probable. Como bien escribió dseminara, en toda revolución industrial/tecnológica hay profesiones que se pierden, otras que mutan y algunas nuevas que ven la luz. Por que va a ser reemplazada, lo mas seguro es que por algo que no nos imaginamos.
    Igualmente, hasta que aparezca algo nuevo, me parece que la mejor forma de hacerla crecer es acercando a la mayor cantidad posible de gente a la programación, a través de una forma de programar mas sencilla. y no, no es excluyente con el desarrollo de la programación profesional.
    ¡¡Saludos!!

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>