Ask HN: Why isn't Prolog more popular?
For me, the big problem with Prolog (and the whole concept of declarative languages) is that the intended benefit requires an unreasonably (or impossibly?) smart compiler.<p>The concept works when I can declare what I want to be done, and the system does it - and when that happens, Prolog is great, the language is great for declaring what I want to be done.<p>However, often it happens that the system does it in a way that&#x27;s somehow horribly inefficient and makes it totally unusable. And <i>then</i> I have to redeclare my requirements in a slightly different way to nudge the system into doing it differently - and this is much harder, then I have to worry about much more moving parts than just my code.<p>Also, the language is not really well suited for that; if I have to specify how exactly in which order the calculations need to be made, then imperative languages are a much better tool. I&#x27;m throwing away all the advantages of Prolog if I have to do this all the time - and in practice I do.<p>Haskell has a bit of similar problems (though generally not with unexpected speed complexity but unexpected memory complexity through laziness and thunks), but Prolog is much worse in that regard.