¿Llegó ya la hora de que la programación se libere del estilo von Neumann?

En 1977 John Backus recibió el premio Turing (los Nobel de la informática). En la entrega del premio, Backus leyó uno de los discursos de más calado en la historia de los Turing: “¿Puede la programación liberarse del estilo von Neumann? «.
Backus lideró el desarrolló Fortran, e inventó la Backus Naur Form (BNF). Y con su discurso quiso además poner a la “programación funcional” (lenguajes como Haskell, F# o Clojure) en el lugar destacado que se merecía, por encima de la programación imperativa (lenguajes como C, C++, Java, etc.).
Por aquellos tiempos el discurso tuvo mucho calado, para, posteriormente, en nuestros tiempos, pasar a ser olvidado, hasta volver a tomar un especial significado en el aparente futuro de la programación. No en vano, cada vez se escucha más el debate de si el futuro de la tecnología está en la programación funcional.
En su discurso, Backus hablaba de que los lenguajes de programación convencionales son cada vez más enormes, pero no por ello más fuertes. Tienen defectos inherentes, derivados de su estilo “una sentencia en cada momento”, estilo de programación heredado de su antepasado… la arquitectura de von Neumann.
Muy resumidamente, la arquitectura de von Neumann es aquella que utiliza el mismo dispositivo de almacenamiento para instrucciones y datos, y es la que usan la mayoría de los ordenadores actuales. Pero hoy, cada vez más, la tendencia y el crecimiento de la computación se basa en muchos procesadores compartiendo la misma memoria.
Backus comentaba como, frente a la programación imperativa, hay un estilo funcional alternativo de programación. Los programas funcionales, menos repetitivos, no recursivos, se construyen jerárquicamente, no nombran argumentos, y no requieren la compleja maquinaria de declaraciones de procedimientos.
Su potencia son las leyes del algebra, que se llevan a cabo en el mismo lenguaje en el que se escriben los programas. Los teoremas algebraicos dan comportamiento detallado y condiciones de terminación a grandes programas.
No deja de ser curioso, que más de 30 años después de aquel discurso, y más de 6 años después de la muerte de Backus, sea cuando más importancia pueden tomar aquellas palabras.
Cursiosamente, de esto hablamos hace poco a raíz del comentario de R.C. Martin sobre cómo el futuro pasa por la progración funcional.
¿Qué opinas?

jgarzas

Ph.D. en informática, Postdoctorado en la Carnegie Mellon (EE.UU) e Ingeniero en Informática.

Primera vez que me tocó hacer una gestión Ágil en una empresa... año 2001. Desde entonces he trabajado en, o para, más de 90. Y he formado a más de 2000 alumnos.

También soy profe de la Universidad Rey Juan Carlos.

Dejar un comentario

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