Intentional Programming

Siguiendo con mis reflexiones anteriores, y siguiendo buscando por ahí he encontrado esto. La idea me parece genial: básicamente, describir todos los elementos de un programa de forma abstracta y con un identificador único, como la repesentación intermedia que hace un compilador, y lo representa como una base de datos... La cuestión es que casai todos los lenguajes tienen la misma estructura, por lo que sería fácil trabajar con la «estructura» de un programa en vez de como su «representación» en algún lenguaje de programación. Es lo que Microsoft llama (o llamaba) «Intentional Programming», que seguramente quedó eclipsada por la tecnología .Net. Sin embargo, la idea es genial. ¿Por qué no puedo manipular la base de datos (árbol) de una aplicación, para, por ejemplo, encontrar todas las funciones que utilizan una variable, etc.? ¿Alguien sabe dónde quedó esto?

Buscando por ahí, he encontrado el artículo original de Charles Simonyi, comentarios de otro weblogger, y la sempiterna definición de la Wikipedia. Incluso un revelador vídeo. En algún momento le debieron dedicar bastante esfuerzo a esto, ya que este vídeo promocional me suena a los que muestran en las reuniones de Microsoft a desarrolladores.

Actualización: Ejem... Debería haber buscado más, ya que Simonyi fundó su propia empresa, Intentional Software, cómo no, y hasta tiene un muy buen weblog corporativo, muy de moda últimamente, además de que te da la idea de qué empresas son, digamos, más dinámicas, en el que te enteras que ahí está trabajando el autor de NEdit, un editor muy bien acogido por los programadores. Parece una tontería esto de los weblogs, pero puede servir para algo. :)

blog comments powered by Disqus