Puede encontrar respuestas a sus preguntas en un número especial reciente "Sprachen der KI" ("Idiomas de IA") de la revista alemana de IA KI - Künstliche Intelligenz , Volumen 26, Número 1 / Febrero de 2012, publicado por Springer. Soy coautor de una parte de un documento de debate incluido en él: "¿Qué idioma utiliza para crear sus programas de IA y por qué?" Aquí hay una preimpresión del mismo: http://ai.cs.unibas.ch /papers/schmid-et-al-kijournal2012.pdf
En resumen, algunos investigadores de IA todavía siguen los clásicos lenguajes de IA Lisp y Prolog. Otros usan lenguajes convencionales como C ++, Java o Python. A otros les gusta explorar nuevos lenguajes de programación esotéricos.
Creo que la IA no tiene nada de especial que requiera lenguajes de programación especiales. Lo que los investigadores en general quieren es lenguajes de programación que permitan la creación rápida de prototipos. Esto es algo para los que los antiguos lenguajes de IA (Lisp, Prolog) y los nuevos lenguajes de “secuencias de comandos” (Perl, Python, Ruby o los lenguajes recientes de JVM como Clojure) son excelentes.
Algunos investigadores quieren ir más allá de la creación de prototipos, o tienen requisitos especiales (por ejemplo, big data) y necesitan volver a implementar sus algoritmos en lenguajes compilados o fuertemente tipados como C, C ++ o Java una vez que finaliza la fase de programación exploratoria y tienen un mejor agarre del problema. Algunos dirían que en ese punto (cuando el problema se entiende bien), ya no se trata de IA.
Volviendo a su última pregunta, todos los desarrollos significativos en los nuevos lenguajes de IA que conozco están inspirados en la programación basada en restricciones. Algunos han entrado en implementaciones de Prolog como SICStus y SWI, otros han generado lenguajes similares a Prolog como Mercury y Mozart / Oz. Por supuesto, es probable que haya nuevos desarrollos significativos que no conozco.