in reply to Problem Domains and Multiple Disciplines
I have learned that although mathematicians can "code" a solutions, it is often one that "works", but there is no guarantee that it will be the most efficient. This is what computer scientists study, and more often than not, they are the only ones concerned with efficiency/performance.
At some point, especially once a programmer gets through the learning curve for his language of choice, efficiency starts becoming a bigger focus by trying to figure out "better" ways of doing things.
I have worked with oceanographers, mathematicians, chemists, and physicists, and I can tell you from first hand experience that they are better suited at doing research than writing good/efficient code. Often times an experienced programmer, not necessarily with a CS background, can run circles around some of the crap that these otherwise smart people write. In fact, many of them have a problem in thinking that because the are experts in <insert your discipline here>, that they will write the best code; and therefore neglect to consult a *real* programmer. Oneday they realize that their code works but is crap, so they dump it on the computer guy to fix it - am I bitter? Of course not ;)