Emails with Bob Harper

I ran into Bob Harper at POPL in Philadelphia. We chatted briefly in the hallway. We invariably disagree on most topics when we talk, but the conversation was pleasant enough. I enjoy talking to Bob, since he has a strong world-view and is a very smart guy. When I got home, Bob wrote me a followup note. After a few emails I noticed that he had updated his draft book, Practical Foundations for Programming Languages, to include two chapters that touch on topics related to object-oriented programming. I believe that a previous version of the book only mentioned objects once, in a footnote, so I was curious to read what Bob had to say about objects. I have an special interest in this question given the strong and unsupported criticisms that Bob has made about object-oriented programming in his blog, Existential Type. Over the next few weeks we exchanged almost 50 emails about the book and object-oriented programming in general.

I previously started posting the messages, because it is an interesting story. I viewed our discussion as a continuation of the debate that we began in person at POPL. Bob never manages to support his criticisms of object-oriented programming, and in the end shows that his criticisms are based on misunderstanding of the subject. At least, that is my interpretation of our exchange. He conclusions are completely different, I am sure. I have since decided to remove the posts. Just because Bob is impolite, does not mean that I have the right to be as well. If my actions offended anyone, I apologize. I will write some separate notes on his book, based on the email discussion. He has already modified the book and removed some of the unsupported claims based on our conversation.

I am still concerned with the fundamental internal conflict and lack of understanding between different camps within programming languages. It is unhealthy and reduces our reputation within the larger community. No other sub-discipline within computer science is so fundamentally at odds with itself. I will find another way to address these issues.


Sukant Hajra said...

I had a feeling this effort might confuse professional/academic debate with something personal. Given the nature of the first few posts, I think it makes sense not to disclose the conversation in its entirety. People may unfairly interpret Bob's terseness as problems with his position.

However, I think I was learning from the exchange. I hadn't been exposed to the idea of "positive" and "negative" types, for instance. And with a little Googling I found papers talking about objects as a coalgebra. It's interesting that even this point seems like it's not fully accepted by the object-unimpressed camp.

What worries me most is this "Objects on Trial" silliness [1,2] in which a very serious subject is reduced to bad arguments and rhetoric.

What the PL community seems to need is a "real" scientific debate -- fully transparent -- and accountable to an inquisitive public. Everything I've seen to date, including these emails between yourself and Bob, seem to have fallen short of that measure.


Anonymous said...

No, it isn't his terseness that I have issue with, it's "arguments" such as "nope", "you're naive", "no you're quite wrong", "we don't need se people reinventing everything we do but worse", etc that I have problems with. How could anyone think this is an acceptable way to communicate with another researcher? He does the same sort of thing on his blog.

If there are "type theorist" and "se" camps, I'm very much in the former, but I cringe at statements such as "type theory is the only unifying model of computation". There is no way to defend such a statement. It is just embarrassing.

Martin Owens said...

Hmm, maybe some sort of Code of Conduct, or at least a treaty on human rights for warfare.

I'm interested in learning more about this argument, but I can't find good links. If you repost your critique, let me know.

Ivan said...

But we don't need to see people reinvent everything we do but worse!

Also, private email correspondence should not have been published without Bob's consent.

How and what he writes when addressing a colleague or a friend may be different to what he would have written publicly - different assumptions, different audience, different context.