Archive for June, 2010

Logic, Objects, and Programming

June 26, 2010

Logic programming presents better credentials than any other approach to the implementation of computer applications. In addition to providing general-purpose procedures, it is natural for defining and maintaining databases, for language processing, for knowledge representation, for parallel processing. It casually picks up numerical and combinatorial computation as special cases of constraint logic programming. Even objects that change state by interchange of messages are elegantly expressed [1].

Yet it was object-oriented programming that took off rather than logic programming. Why? Admittedly, during the eighties, when the crucial decisions were taken by industry and universities, not all of the strengths of logic programming were sufficiently developed. But that was only true of constraint logic programming and the lack of development in that particular branch is not the explanation.


Interview with Alan Robinson, inventor of resolution logic

June 8, 2010

In April 2008 I wrote “Where Have All the Great Programmers Gone?” . In trying to answer the question, I contrasted the contemporary introduction to programming with the way it was learned in the 1950s. Of the earlier environment I wrote the following passage:

… two favourable factors existed. The first was that one of the prerequisites for being a promising oddball was that of having a nontrivial college degree. Examples were philosophy (J. A. Robinson), English literature (Mark Halpern), Classics (C. A. R. Hoare), Physics (E.W. Dijkstra). The degree ensured, if not exceptional intelligence, at least not a debilitating lack of it. Being thrown into the deep end in this way was educative, something that cannot be said of the typical first-year programming text, dumbed down in the way that only Educators have the secret of.

A Programmer’s Place (APP) has yet to snag Hoare or Halpern, but was fortunate to find J.A. Robinson available for an interview.

In 1965 Robinson published “A Machine-Oriented Logic Based on the Resolution Principle”. This was a bombshell in logic and in computing. In the 1970s it led to a rift in the Artificial Intelligence community. The rift has healed over since then, with beneficial results to all of AI. Nowadays Robinson is not granting a lot of interviews, so we are doubly fortunate in having him here.