Who Killed Prolog? (2010)
One of the reasons C is the way it is is that that way is the way the processor is.<p>The abstraction isn&#x27;t perfect, but it is decent enough for a first approximation. I&#x27;m guessing Fortran is similar. Imperitive languages of that era were used because they worked very closely with the actual actions of the CPU and gave a fine grained control over execution, allowing efficiencies. Since then, popular languages have all been improvements that take advantage of increased computing power to do interesting things.<p>Sometimes new paradigms rear up - eg, Clojure with its set-and-forget approach to values. That paradigm is sold on the basis that it is easier to reason about, debug and as a practical bonus faster in many cases than the alternative. This is a great reason to learn a new paradigm.<p>Prolog is an experiment, but has anyone found a domain for the paradigm of logic programming? I&#x27;ve used it, and I couldn&#x27;t see any domain where it seemed to have an advantage. For AI in particular - the way the world is developing, it seems logic is a weak foundation for intelligence. At this point, given that we know humans do not use logic for their intelligence, it would be a little surprising if logic is the best way to approach that particular problem. In most domains, the error in your sensor overwhelms the existence of fact and the &#x27;rules&#x27; are more what you&#x27;d call guidelines.<p>If I rule out AI, what field is Prolog especially suited for? It doesn&#x27;t read like it has a natural advantage in debugability (quite the reverse imo), GUIs, stream processing, efficiency, etc. With a lack of a killer domain, why not implement it as an afterthought library in C or lisp, and keep the imperative languages we have so much research in?<p>Basically, the default state of Prolog is dead. It doesn&#x27;t represent how humans want to think about programming, it doesn&#x27;t represent how the computer implements programming and so if it doesn&#x27;t have a domain where its paradigm is spot on perfect it isn&#x27;t going to take hold. It is an interesting idea and might yet be useful, but someone will need to find a reason to justify it.