En gros, si votre programme peut être facilement déclaré des déclarations logiques formelles declaritive, Prolog (ou une autre langue dans cette famille) donneront le meilleur temps de développement. Si vous utilisez un bon compilateur Prolog, vous obtiendrez également les meilleures performances et la meilleure fiabilité, car le moteur aura fait l'objet de nombreux efforts de conception et de développement.
Essayer de mettre en œuvre ce genre de chose dans une autre langue a tendance à être un gâchis. La solution la plus propre et la plus générale consiste probablement à implémenter votre propre moteur d'unification. Même les implémentations naïves ne sont pas vraiment triviales, la Warren Abstract Machine a un livre ou deux écrit à ce sujet, et faire mieux va au moins impliquer une bonne partie de la recherche, en lisant des papiers induisant la migraine.
Bien sûr, dans le monde réel, des éléments clés de votre programme peuvent bénéficier de Prolog, mais beaucoup d'autres choses est mieux traitée dans une autre langue. Voilà pourquoi beaucoup de compilateurs Prolog peut interfacer avec, par exemple, C.
par rapport à C/C++ en particulier ... résoudre un problème de 8 reines est par exemple, plus facile dans Prolog (que je viens de découvrir). Pourquoi C vs Prolog aime-t-il les pommes et les oranges? Est-ce que tous les programmes C ne peuvent pas être convertis en Prolog et vice versa? – Lazer
Il peut (en théorie - c'est-à-dire je ne peux pas penser à un contre-exemple de manière désinvolte) mais juste parce que vous pouvez ne signifie pas que vous devriez. Regardez-le de cette façon: si c'était le bon choix la plupart du temps, il y aurait beaucoup plus de programmeurs prologues qu'il n'y en a. – annakata
@annakata oui, je suis d'accord. mais je ne sais pas pourquoi (il y a moins de programmeurs Prolog) – Lazer