As a developer that learned it once, a long time ago, naturally I sign to the pledge…
I have some doubts if I should mark it NSFW.
Prolog is not suitable for any problem domain, although this is more readily apparent for some domains than others.
For real, for real.
As someone who used Prolog in an academic circumstance for more than just logic, i fully agree with that article.
But i still think C++ has more footguns than Prolog.
But i still think C++ has more footguns than Prolog.
They are different kinds of footguns. The C++ ones keep security, ops, management, suppliers, customers, and the public up at night; the prolog ones keep you up at night.
I once considered implementing a CI/CD configuration management tool in Prolog (in my free time).
Cause, you know, you’ve got certain conditions that you want to be met, so from an API perspective, it’s actually kind of reasonable.
Problem is, at some point you need to actually do things on the target machine. And you can’t really tell it to run a few instructions in order. Not as reasonable for that part…
Ouch.
I’ve once decided that “hey, software interaction is logic, so prolog should be the best for complex protocols and UIs!”
Quite soon I understood that no, “complex protocols and UIs” are a problem all by themselves, enabling them makes them worse, and enabling them with prolog makes them even worse.
Up to this day I’m stuck trying to make data quering more “programming-like” than the restrictive thing we have with SQL. I’ve backtracked a few times already after noticing that I just designed prolog again.
But fear not, at some point one of us will finally find that problem domain for what prolog is really suitable. I know of an entire company betting on using it for describing access control rules, maybe they are up to something!