Who Killed Prolog?
vanemden.wordpress.com
vanemden.wordpress.com
The picture is complicated by libraries and tool-chains that can make an established language (c, java, python) a better choice by giving an enormous (e.g. x1000) boost to productivity, obscuring the intrinsic merits of the language itself. (Although, languages that facilitate library and tool use will promote creation of their ecosystems).
"Logic programming is a cool idea, but not that useful for most things" would be a better explanation for why it's not popular today. It strikes me as a rather narrow and dogmatic AI technique; and one that you're better off reimplementing on demand (Greenspun-style), or using in a library.
Particularly since confining logic programming to an embedded domain-specific language lets you keep it clean from any of pollution that was piled onto Prolog in an attempt to make it more of a general purpose language.
Except that many regard Prolog as a precursor that little used language SQL.
A elaboration from van Emden, which describes part of the problem as Prolog being pushed by Lispers who had only recently become enamored with Prolog: http://vanemden.wordpress.com/2010/08/31/the-fatal-choice/
A different take that blames "technological and cognitive issues" at least in part, especially debugging: http://synthese.wordpress.com/2010/08/21/prologs-death/
A different take that blames competition from more specialized declarative-programming languages: http://www.kmjn.org/notes/prolog_lost_steam.html
Answer-set programming has constraint stuff more as a core feature. A common paradigm in asp is to mix "normal" lp type rules, where you specify how to derive exactly the correct solutions, with a generate-and-test style where you over-generate (with choice rules) and then filter with constraints (called integrity constraints in asp), which is sometimes easier to specify.
I think that Prolog has lasting interest as a teaching language, and is one of
the handful of PLs that everyone with a broad interest in programming should
learn, but that the limitations of its basic computational mechanism make it
uncompetitive as a general PL. I find that Haskell, through the list of
successes paradigm, is usually a better language for writing the kind of
programs Prolog is good at than Prolog.
I think the LP community should be seriously looking for a successor. There's
no shortage of candidates.
- http://lambda-the-ultimate.org/node/2803#comment-41684As I said in that thread, I think the LP community is in denial about the unsuitability of Prolog as a general-purpose programming language; this article echoes the Lispers claim that Prolog was killed by its association to over-ambitious AI projects: I think the argument in the case of Prolog is much weaker than in the case of Lisp.
Multi-paradigm languages are not so great for the Kowalski-esque LP world, because the elements of these languages don't fit in the Kowalski/Pierce picture of knowledge representation and reasoning. Something like lambda-Prolog, which uses higher-order unification to model functional programming within a clausal language, seems to me to be a much better, more conservative step for this community.
This research group in particular is now pushing it heavily in the programmability/expressivity direction, which is pretty interesting: http://potassco.sourceforge.net/ . There is even some other research floating around on more software-engineeringish things like ASP debugging techniques.
"Fast forward to 1992. The world looks very different. In 1990 the Nikkei Index, which had risen strongly for an unprecedentedly long period, from the beginning of the FGCS project, was about to breach 40,000. But instead of continuing its rise, it started a decline and was down to half the peak value by 1992. Most of the Toyotas and Hondas driving around in the US were mostly made in the US. If MITI was mentioned at all, it was in studies revealing that MITI had never sponsored a successful project; that industry, far from being helped by MITI, had been hindered by its meddling."
From Wikipedia: "The Ministry of International Trade and Industry (通商産業省 Tsūshō-sangyō-shō or MITI) was one of the most powerful agencies of the Government of Japan." http://en.wikipedia.org/wiki/Ministry_of_International_Trade...
Interestingly enough it appears that Prolog is alive and well and in Scottish schools - for example see this exam past paper:
http://www.sqa.org.uk/pastpapers/papers/papers/2010/AH_Compu...
yes
So it's probably the root cause for me that we've not got an proper introduction to non-procedural languages. What left is a horrid experience of trying to solve backtracking problems with prolog.
For my personal universe, prolog got killed by my education.
poorly formed google ngram query is poorly formed.