le degré d'utilisation d'ASP ou d'autres langages déclaratifs
Vous pouvez voir l'activité de Prolog qui, je pense, est le langage de programmation ASP le plus courant:
Sur la base de cela, le meilleur package de Prolog est (483/139 326) x 100 = 0,35% aussi populaire que l'un des gros packages de Node.js. Ou 0,07% autant de colis.
est-ce principalement à des fins de recherche
OMI oui, c'est surtout à des fins de recherche. Mais il est similaire à Ocaml , qui d'après mon expérience était principalement à des fins de recherche jusqu'à ce que des utilisateurs d'entreprise comme Facebook publient Flow (programmation JavaScript typée), et d'autres publient Coq ( vérification automatisée des théorèmes), ce qui a contribué à amener Ocaml dans le courant dominant.
Quelle peut être la raison pour laquelle ils ne sont pas si bien connus?
IMO Prolog n'est pas utilisé car il s'agit (a) d'un paradigme différent, (b) le gestionnaire de paquets n'est pas à la hauteur (c'est un gros problème de nos jours), et (c) il n'y a pas de cadre Web évangélisé . S'il y avait un bon gestionnaire de paquets comme NPM pour Node.js, et qu'il y avait un cadre Web qui était commercialisé, ainsi qu'un petit groupe d'évangélistes, cela aiderait à le faire grandir. Ruby avait 37 signaux et Rails, Python avait Google, etc.
Est-ce parce que le développement de l'IA appartient à un niveau de programmation plus "avancé"?
Non, pas vraiment. Certaines recherches sur l'IA utilisent prolog pour modéliser des trucs , mais ce n'est pas une exigence pour l'IA. L'IA pourrait être divisée en deux parties: (1) modèles d'apprentissage automatique / basés sur les probabilités où les relations sont apprises et mal définies, puis (2) modèles définis manuellement. La plupart des IA sont un mélange des deux, mais les modèles définis manuellement sont précieux et gardés confidentiels pour la plupart. Les modèles définis manuellement peuvent être définis à l'aide de Prolog , et il existe quelques documents pour le faire, mais ce n'est pas nécessaire. Pour résumer, tout le travail sur l'IA peut être effectué dans des langages de programmation normaux, juste que Prolog peut rendre l'écriture légèrement plus compacte dans certains cas.