Vous trouverez des réponses à vos questions dans un récent numéro spécial «Sprachen der KI» («Langues de l'IA») de la revue allemande AI KI - Künstliche Intelligenz , Volume 26, Numéro 1 / Février 2012, publié par Springer. Je suis le co-auteur d'une partie d'un document de discussion qui y est inclus: "Quelle langue utilisez-vous pour créer vos programmes d'IA et pourquoi?" Voici une préimpression de celui-ci: http://ai.cs.unibas.ch /papers/schmid-et-al-kijournal2012.pdf
En résumé, certains chercheurs en IA ne jurent que par les langages d'IA classiques Lisp et Prolog. D'autres utilisent des langages traditionnels comme C ++, Java ou Python. D'autres encore aiment explorer de nouveaux langages de programmation ésotériques.
Je crois qu'il n'y a rien de spécial dans l'IA qui nécessiterait des langages de programmation spéciaux. En général, les chercheurs veulent des langages de programmation qui permettent un prototypage rapide. C'est quelque chose d'anciens langages d'IA (Lisp, Prolog) et de nouveaux langages de «script» (Perl, Python, Ruby ou des langages JVM récents tels que Clojure) sont parfaits.
Certains chercheurs veulent aller au-delà du prototypage, ou ils ont des exigences particulières (par exemple, les mégadonnées) et doivent réimplémenter leurs algorithmes dans des langages compilés ou fortement typés tels que C, C ++ ou Java une fois la phase de programmation exploratoire terminée et ils ont un meilleure prise en main du problème. Certains diraient qu'à ce stade (lorsque le problème est bien compris), vous ne traitez plus avec l'IA.
Pour revenir à votre dernière question, tous les développements importants dans les nouveaux langages d'IA que je connais sont inspirés par la programmation basée sur les contraintes. Certains sont entrés dans des implémentations Prolog comme SICStus et SWI, d'autres ont engendré des langages de type Prolog tels que Mercury et Mozart / Oz. Bien sûr, il y aura probablement de nouveaux développements importants à ma connaissance.