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.

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>