Path: utzoo!utgpu!water!watmath!clyde!rutgers!sri-unix!quintus!ok From: ok@quintus.UUCP (Richard A. O'Keefe) Newsgroups: comp.lang.prolog Subject: Escalation Keywords: hatchets, burying of. Message-ID: <639@cresswell.quintus.UUCP> Date: 12 Feb 88 00:59:12 GMT Organization: Quintus Computer Systems, Mountain View, CA Lines: 112 My previous posting to this newsgroup has provoked a rebuke from Isaac Balbin and a warning from my superiors that Quintus is not in the business of making enemies. In this message, I'm trying to make peace. (On my previous record, this may end up yet more inflammatory than the last, but I'm trying, honest.) It should not be necessary to explain that my message was not to be taken as a personal attack on Eduoard Lagache (whom I haven't met) or his present coding style (I have no reason to think that the code he sent to the Prolog Digest reflects his current ideas nor that it doesn't). The "Let's Buy an Argument" summary line, perhaps unfamiliar in this country, is a verbal equivalent of a "smiley". Let's have some history: Bruce Mohler: "How do I parse this thing in Turbo Prolog?" R.A.O'K: "Here's how you'd do it in other Prologs, and I think this should work in Turbo Prolog." Note: It turns out that my solution *doesn't* work in Turbo Prolog, but Mohler said he found my reply useful. ???: "Am I the only one who finds this unreadable?" R.A.O'K: "Here's what it means, how could I do it better?" Note: I'm sorry, but the article has expired, and I didn't save a copy. The complaint was about things like S1 = [100 /* d */|S2] and my reply explained that "100 /* d */" is a character code, gave some principles about comment layout which I think are important, and asked for further explanation of what was thought to be wrong with this form and suggestions for improving it. THESE WERE NOT RHETORICAL QUESTIONS: I really would like to know what this writer found unreadable and what I could have done to make it better. Lagache (6890@Agate.Berkeley.Edu): "I was amused by Richard O'Keefe's comments." R.A.O'K (630@Cresswell.Quintus.Uucp): "Programming is an act of communication". Note: This is where the rot set in. I felt insulted by Lagache's first sentence, and the pH of my ink started falling. My reply described the view that "coding is a very individualistic thing" as "the Humpty-Dumpty school of programming". That reply may have given the impression that I thought I was describing Lagache's code: I want to stress that in this exchange I have carefully avoided doing so. I do not know how Lagache writes programs these days: his artistic taste may well have led him to an objectively defensible style. My offer of assistance in psychology-of-programming experiments involving Prolog was not rhetorical. Lagache (6923@Agate.Berkeley.Edu): "Does Dr O'Keefe ever have anything positive to say?" R.A.O'K (637@Cresswell.Quintus.Uucp): "Who would you rather buy a program from?" Note: This message of mine is the one I was rebuked for, and is the one whose offensiveness I am trying to defuse. Again, the questions in it were not rhetorical: Lagache's experience of marking student programs is *radically* different from mine, and I would very much like to know why. I have seen some messages from Lagache in comp.edu, and regard them as a model of sanity. I applaud his efforts in setting up "the PROLOG Forum" (I'd be going to it tonight but for transport difficulties), and hope that it is a great success. I disagree with him about where the "art" in "the art of programming" belongs, but this should not be construed as a personal difference, and I hope that my unfortunate epistolatry style won't turn it into one. I believe that every aspect of my code should be criticised by objective standards. This means that I have to believe that I may be wrong about any point of my present style. What's more, since I have had to change many aspects of it already, I have to believe that I probably *am* wrong about many aspects of it. When I send examples to the Prolog Digest or this newsgroup, I would *like* to receive mail of the form "In example such-and-such, I didn't understand so-and-so because I couldn't tell whether you meant this or the other thing. It would have been clearer if you had written something-like-this." I think psychology-of-programming questions are very important. Programming language designers are often guilty of ignoring them. For example, DEC-10 Prolog has been criticised for using comma - to separate the elements of data structures, and - to separate the arguments of predicates, and - as the "and-then" connective. My layout style uses - no spaces - one space - tabs-and-comment or new-line in these cases so that confusion cannot arise, but it is perhaps more of a fortunate coincidence that this would be good layout for any programming language rather than an outcome of careful design. Imagine my surprise at finding that there is a logic-programming language whose designers have extended the confusion, using square brackets - for lists, and - for the argument sequences of predicates, and - for the and-then form. And they thought they were making a *better* language! I wonder if one could adapt the Simpson index to programming languages?