PROLOG (I): 45 años no son nada

En 1975 Alain Colmerauer creó un lenguaje de programación de alto nivel de tipo declarativo basado en el principio de resolución de teoremas de John Alan Robinson (se puede leer en A Machine-oriented Logic Based on the Resolution Principe), a este lenguaje lo denominó como PROLOG de PROgramming in LOGic.

Hay muchas clasificaciones de los lenguajes de programación por ejemplo según lo próximo al programador(maquina, ensamblador o bajo nivel, alto nivel), la forma de expresar el contenido (procedimental, declarativo, orientado a listas, orientado a objetos, …), pero sigamos que esto tampoco es la Wikipedia.

El manual de referencia del lenguaje PROLOG, fue y todavía es, el que escribieron Sterling y Shapiro en 1986 (L. Sterling and E. Shapiro. The Art of Prolog. MIT Press, Cambridge, Massachusetts, 1986.) y cuya tercera, y última edición, data de 1999.

Con PROLOG se separan la base de conocimiento (datos y cláusulas), que se mantienen en el programa, del control que en teoría pasa al propio lenguaje (máquina PROLOG). Este procesado genérico genera una sobrecarga de proceso, que si bien hace años podía ser un inconveniente, con el paso del tiempo ha dejado de serlo, en la medida que el proceso cada vez es más rápido y barato. Este progreso ha hecho que los lenguajes de bajo nivel cada vez estén más en desuso.

Mientras que en Estados Unidos se prefirió el LISP desarrollado por John McCarthy en 1960 como lenguaje de programación para la Inteligencia Artificial, en países como Japón (Proyecto de ordenadores de Quinta Generación, MITI, 1981) y Francia se optó por el lenguaje PROLOG. En aquella época había dos estándares el marsellés heredero del Prolog-I de A. Colmerauer y P. Rusell (Marsella, 1972) que solía ser interpretado y el estándar de Edimburgo normalmente compilado. A nivel divulgativo se popularizaron para el desarrollo de programas, entre la comunidad científica y educativa, los productos de Borland , hoy desaparecida, entre los que se encontraba el Turbo Prolog que apareció en 1986.

En aquellos años yo ya había programado en ensamblador del 8080/8085, en Fortran (El que gustaba a los matemáticos), en BASIC (El que se popularizó en los ordenadores personales), en PASCAL (El preferido por la comunidad educativa).

En el Proyecto Fin de Carrera, dirigido por Enrique Gomez Aguilera, cuyo objetivo fue desarrollar un Sistema Experto para el tratamiento de la Diabetes Mellitus dentro de un proyecto más amplio denominado DIADEMA de la cátedra de Bioingenieria de la ETSI de Telecomunicación de Madrid, se decidió implementar el sistema experto utilizando el lenguaje PROLOG con el fin de ver sus posibilidades.

La vida luego me hizo programar en muchos más lenguajes: LISP, Smalltalk, C, COBOL, HTML, PHP, JAVA, Javascript, Python, LUA … sobre ordenadores de todo tipo y tamaño … toda la vida haciendo que los ordenadores resuelvan los problemas de los humanos.

Fue entonces cuando mi amigo José Manuel Orenga y Ortega me invito a escribir conjuntamente con él un libro divulgativo sobre PROLOG que titulamos «Prolog. Introducción a la programación de Sistemas Expertos«, Ra-ma 1987.

Fruto de la experiencia adquirida durante el Proyecto Fin de Carrera publiqué un segundo libro, esta vez en solitario «Sistemas Expertos. una metodología de programación», Ra-ma, 1988.

En aquel tiempo además obtuve una beca de investigación del Centro de Investigación de Telefónica, para investigar sobre el mismo tema, pero de todo ello hace mucho, mucho tiempo, pero ¿Qué ha sido del PROLOG?