Nous l'avons utilisé pour construire des analyseurs. Il était plus facile de travailler avec que lex / yacc.
Pourquoi n'obtient-il aucune utilisation détectable dans l'industrie?
C'est sans réponse. Que signifie «détectable»? Qui doit obtenir le mémo de détection?
http://www.meridiansystems.com/landing/ppc/prolog/getvideo.asp
Demandez à Meridian Software son offre de prologue si vous voulez des faits.
Cependant, j'ai rencontré certains obstacles à l'entrée.
Premièrement, le prologue peut être lent. Lorsqu'il y a beaucoup de règles candidates et aucune opération de coupe simple pour restreindre l'espace de recherche, cela peut prendre un certain temps pour faire quelque chose.
Deuxièmement, le prologue n'est pas procédural ou fonctionnel, donc de nombreux programmeurs rechignent à l'utiliser. (Fait intéressant, certains programmeurs rechignent également à utiliser SQL. D'ailleurs, certains programmeurs utiliseront SQL à contrecœur et feront des choses étranges comme éviter les opérations de jointure, ou affirmer que COUNT(*)
c'est magiquement inefficace.)
Troisièmement, le prologue nécessite une réflexion assez claire sur les différents cas. La programmation procédurale peut être bâclée et fonctionner de manière fiable. Les déclarations non exécutables sont acceptables.
Ce qui suit est acceptable dans la plupart des cercles.
b = a + 1
if a > b: # always False
Ce genre de pensée trouble vous cause des ennuis en prologue.