Why Most Scientists Don’t Like Computers
Psychology is fascinating: so much of what we think we know about people turns out not to be true, while so many everyday oddities turn out to have rational explanations (for some version of “rational”). For example, I’ve known for twenty-five years that most scientists dread the point in their work when they have to do something new with a computer. I’ve finally figured out why: it’s because the yield-to-effort function is wildly discontinuous, and human beings hate that.
Let’s start with a result from social psychology. Suppose people have a choice between waiting 5 minutes for the bus every single time, or waiting 1 minute nine times out of ten, and 20 minutes the tenth time. On average, they’re better off in the second case, but almost everyone prefers the first: they value predictability over pure economic yield.
Now, suppose you’re a scientist—or anyone else, for that matter—and you’re sitting down to do something with a computer that you haven’t done before. How long is it going to take? You don’t know, and what’s worse, no matter how much experience you have with computers, you still don’t know. You’re always in the situation of someone who’s wondering whether the bus will arrive in 1 minute or 20 minutes.
For example, we’re using TechSmith’s Camtasia to create our screencasts. Between us, we have six degree in computer science and over forty years of experience, but we’re still twisting our ankles in potholes every time we try to do something new. This morning’s job was to add closed captioning to a screencast that Jon created discussing NULL in SQL. There’s a video on the Camtasia site showing how to do this with the Windows version, but Jon did his recording on a Mac. Can I add captions there? Not as of last August, and I can’t find anything more recent on the web or in Camtasia’s help to indicate that the situation has changed. Can the Windows version open the Mac project? No — if I want to switch from one version of the company’s flagship product to another, I have to export the content files (the audio and video) from the Mac version and load them into a new project on Windows. If I do that and add captions, will those captions survive me moving things back to the Mac? I have no idea…
Scientists run into this kind of thing all the time. They know something ought to be doable, but they have no way of knowing how long it will take to straighten out the kinks and make it happen. This naturally—and rightly—makes them very conservative: they’d rather spend 10 hours doing something the “wrong” way than take a chance that some new technique might let them finish in 1 hour, because experience has taught them that switching might wind up taking 20 hours instead. I now believe that predictable effort matters more to most people than “pure” usability or overall capability: given a choice between knowing what they’re getting themselves into, having an easy ride, or eventually being able to accomplish a lot, most people will choose the first. What I don’t know is how to reflect that in the design of this course…

I agree with this sentiment 100%. Ultimately, you get rewarded for getting scientific results; there’s no bonus points for getting it done in a `good’ way as seen by someone more sophisticated computationally. If moving to another way of doing something introduces some non-zero probability of sinking the project or delaying it to the point that someone else does it first, why would you?
The other big push for conservatism in computational science circles is the long life cycle of successful products. A lot of work goes into a code, and the hope is that it will remain useful for at least two decades. So using a new technology that may not be around in 10 years is simply right out. It’s only after a decade or so that scientists have accepted that Python is here to stay (and it still seems very `new’) – same idea with fancy-pants alternatives to distributed programming.
Of course, this creates a self-reinforcing cycle; new (say) distributed programming techniques _do_ in fact die off very quickly, because no one uses them, because they see that new distributed programming techniques die off too quickly, because… Things like python escape this because they’re used primarily by non-scientific users.
Interesting theory… I’d like to see an empirical study to test it.
Cool, but then why don’t software developers hate computers, too?
@Jorge What do you mean, why don’t software developers hate computers? Have you *listened* to them?
they value predictability over pure economic yield.
That’s because there’s a computational cost involved in unpredictability. People’s lives are complicated enough already.
Scientists hate computers when they have to learn someone’s arbitrary complexity in order to solve a problem. But they love the results.