Wednesday, October 12, 2011


A colleague outside theory (but inside computer science) recently brought up an interesting question with me that seemed like a possible research-level issue.  We had some back and forth, trying to figure out what we each meant (naturally, our "vocabularies" are a bit different in how we describe the problem), what the actual question was, and if there was a direction to go.  After a couple of rounds of this, he thanked me.  Paraphrasing:  "I appreciate your patience.  My experience is other theorists are often immediately dismissive to these sorts of questions."

I was taken aback.  First, I'm not sure patient is a word commonly used to describe me.  Second, this colleague is a first-rate genius (with the track record to prove it).  Who wouldn't listen to what they have to say?  Quite frankly, I was happy they were interested in talking to me!

But it's been gnawing at me.  If a high-powered colleague outside theory has this impression of theory and theorists, how do we appear to others?  Was this an isolated opinion, or a common feeling?

I know 20 years ago, back when I was in graduate school, the theory/systems divide was quite large, at least at Berkeley.  There seemed to be minimal communication among the faculty groups.  Indeed, in part that was one reason that, at the time, the LogP paper seemed like such a big deal;  Dick Karp had successfully crossed over and worked with the systems side to build a model for parallel computation!  It was, sadly, notable, if only because such collaborative work had seemed so rare.

I've generally felt that while this theory/systems divide was still much larger than I might personally like that there had been a lot of progress since my grad student days.  I feel I can point to a significant number of examples.  But perhaps I'm holding the unusual opinion.  Maybe there's still not enough listening going on, in at least one direction.


David Andersen said...

(Man, posting replies to your blog entries is way more fun than finishing up this midterm exam I'm working on...)

That hasn't been my experience at all. I've shown up at theory lunch several times to ask stupid questions, frequently knock on my theory colleagues' doors, etc. Rasmus Pagh was visiting here a while ago and very kindly let me steal him away for an hour or two to brainstorm about some hashing tricks we were working on for our SOSP'11 paper on memory-efficient indexing, ... you get the idea.

But - bias: I probably only bother people who I suspect are tolerant and interested in reaching out to the real world. Furthermore, CMU works hard to be astoundingly interdisciplinary, and it rubs off even inside the CS department. But why wouldn't you? It's an awesome way to sometimes find previously unseen tricks to apply...

Anonymous said...

I think you cannot generalize from one remark. There are plenty of theoreticians who like to talk to non-theory people and there are some who are simply uninterested.

Suresh Venkatasubramanian said...

I agree with Anon1: it's hard to generalize (and it's quite possible your colleague had a bad experience with someone who WASN'T interested in more applied-ish questions).

I think it's the problem of minority groups of all kinds: if you meet only a few members of the group, you assume they're the average, rather than being outliers in different ways. Much in the way people assume that all Indians are engineers.. oh wait...

Anonymous said...

This is completely true.

It's true that a lot of theoreticians don't listen to practicians. It's also true that theoreticians don't write for practicians.

How many theoretical papers claim to introduce new algorithms, but give listings that are clear as mud, utterly abstruse, and unexploitable by practicians?

Every time one of us publishes a paper about something that is too complicated to be used, we continue to dig this divide between theoretical and practical computer science.

Those of us that truly believe in bridging the gap, should take care to, as a conclusion to any work we publish, do what is required to put it in readily usable form (with the help of colleagues if you're not clear on implementation details).

John Haugeland said...

The biggest reason for this fairly common belief, in my opinion, is that researchers have a tendency to isolate their work in academic jargon which makes it largely unreachable by practicioners.