Girard has some commentary scattered about his writing.
The search algorithms for logic programming are simply slow, it's a very interesting idea in programming languages, but there's a reason it's not widely used.
> PROLOG, its misery. Logic programming was bound to failure, not be- cause of a want of quality, but because of its exaggerations. Indeed, the slogan was something like « pose the question, PROLOG will do the rest ». This paradigm of declarative programming, based on a « generic » algorithmics, is a sort of all-terrain vehicle, capable of doing everything and therefore doing everything badly. It would have been more reasonable to confine PROLOG to tasks for which it is well-adapted, e.g., the maintenance of data bases.
> On the contrary, attempts were made to improve its efficiency. Thus, as systematic search was too costly, « control » primitives, of the style « don’t try this possibility if... » were introduced. And this slogan « logic + control13 », which forgets that the starting point was the logical soundness of the deduction. What can be said of this control which plays against logic14? One recognises the sectarian attitude that we exposed several times: the logic of the idea kills the idea.
> The result is the most inefficient language ever designed; thus, PROLOG is very sensitive to the order in which the clauses (axioms) have been written.
For me this kind of criticism is very familiar. It comes from theoretical computer scientists who have these purist ideological convictions about how a declarative language should look and behave, that are as unrealistic, because impossible to implement on a real-world computer, as they are uninteresting for practicing programmers because strictly a matter of aesthetics. Such critics have never made anything useable themselves and are simply angry that someone else made something that works in the real world while they were busy intellectually masturbating over their pure and untouchable vision.
Although I concede that my comment might be a bit unfair to Girard who did, after all, invent the mustard watch.
No, what's idiotic is the trite bullshit in the quote in the GP's comment- and from a logician from Aix-Marseille, no less!
Prolog is "well adapted" to the "maintenance of databases". The only reason this nonsense keeps being repeated is because Prolog programs are stored as rows in a database. It's like people look at a list of keywords, pick out "database" and go "ah, so Prolog is a language for databases". Zero understanding of what the database is in there for: because your program and your data are one.
Or take the "attempts" that "were made to improve its efficiency". What the illustrious academic is kvetching about here is the cut (!/0) an extra-logical construct used in Prolog to cut choice points (like markers in program state where execution backtracks to) and so lets the programmer control the program. Again, what we seem to have here is a bingo-card understanding of Prolog: someone wrote down the keyword "control", the academic looked at the cut and thought "ah, that's what 'control' means!". No, it means that an algorithm can be thought of as logic, that is always the same, and control, that depends on the executing machine. That's what "algorithm = logic + control" means, not that you get to cut choice points with a "control" structure.
That's what's idiotic, and btw that's the common misunderstandings that clueless Prolog "critics" have been making since forever. It's trite, tired, boring bullshit that makes it clear the "critic" has no idea what they're talking about and are just looking for something to say to show they're knowledgeable and smart.
The search algorithms for logic programming are simply slow, it's a very interesting idea in programming languages, but there's a reason it's not widely used.
> PROLOG, its misery. Logic programming was bound to failure, not be- cause of a want of quality, but because of its exaggerations. Indeed, the slogan was something like « pose the question, PROLOG will do the rest ». This paradigm of declarative programming, based on a « generic » algorithmics, is a sort of all-terrain vehicle, capable of doing everything and therefore doing everything badly. It would have been more reasonable to confine PROLOG to tasks for which it is well-adapted, e.g., the maintenance of data bases.
> On the contrary, attempts were made to improve its efficiency. Thus, as systematic search was too costly, « control » primitives, of the style « don’t try this possibility if... » were introduced. And this slogan « logic + control13 », which forgets that the starting point was the logical soundness of the deduction. What can be said of this control which plays against logic14? One recognises the sectarian attitude that we exposed several times: the logic of the idea kills the idea.
> The result is the most inefficient language ever designed; thus, PROLOG is very sensitive to the order in which the clauses (axioms) have been written.