A mio avviso, imparare le basi di Prolog è molto utile, indipendentemente dal fatto che lo userete mai nel mondo reale. Vale anche la pena comprendere le idee di base alla base dell'unificazione e come potrebbe essere gestita un'implementazione (banale e inefficiente).
Se hai un problema che sarebbe meglio risolvere usando la logica dichiarativa, dovresti riconoscerlo idealmente e sapere (se hai la scelta) di usare gli strumenti giusti per quel lavoro.
Tuttavia, sono d'accordo sul fatto che Prolog abbia bisogno di una mentalità molto diversa dai linguaggi imperativi convenzionali e anche di una mentalità molto diversa dai linguaggi funzionali. Al di là di un certo punto, sembra richiedere molta esperienza (proprio come con qualsiasi cosa), e c'è anche molta conoscenza da "libro di testo" che mi fa uscire il cervello dalle orecchie.
La mia impressione è ... probabilmente manciamo entrambi qualcosa di speciale in una certa misura, ma non sarebbe pratico dedicare il tempo all'apprendimento anche di una conoscenza a livello di libro di testo ragionevolmente completa per Prolog, per non parlare del tentativo di sviluppare l'esperienza del mondo reale , a meno che non stia considerando una possibile carriera di programmazione logica.
Recentemente ho letto un libro sull'intelligenza artificiale e sui sistemi esperti pubblicato nel 1989 - una scoperta fortunata in una libreria di seconda mano. In parte significativa, è un tutorial specializzato su Lisp e Prolog. È vero, la maggior parte di ciò che copre non è stata così impressionante per un po '(ricerca, euristica ecc.), Ma è ancora molto interessante e l'IMO è una cosa utile in cui investire un po' di tempo.
Libri più recenti che descrivono in modo specifico Prolog sarebbero migliori per l'apprendimento della lingua, ma il rischio è quindi che il cervello scivoli fuori dalle orecchie da qualche parte nel materiale intermedio-avanzato.