I agree entirely with Perry here. I'd take it further: even in the case
of giving the machinist instructions, "12x12 with holes here and here",
it would help if the machinist has some sense of what you are building.
Will the product be hot enough so that metal expands and contracts?
humidity? should the finish be gloss or matte? copper, aluminum...? The
machinist will help you build a better gizmo if he has some feel for
what your are building, what you need the part for. He will have
relevant experience from his machinist perspective.<br>
<br>
Mixed unit tactics are the path to victory, but the mixed units perform
better together if they have some sense of each other's jobs. Some of
us specialize in a very focused way, some of us generalize, but to work
as a team we need to learn some of each other's jobs. <br>
<br>
I think a physicist programming is like an astronomer grinding lenses
(maybe nobody does that anymore). Some astronomers (in the old days)
ground their own lenses and ended up contributing to optics; others
never looked through telescopes, they do math on the measurements taken
by others. Some computer scientists don't program; some mathematicians
can hardly use email. But most of us learn bits and pieces of each
others jobs, in varying degrees; it's necessary to communicate
effectively, and what's the subject for one guy is a tool for another
guy.<br>
<br>
Peter<br><br><div><span class="gmail_quote">On 8/28/08, <b class="gmail_sendername">Perry E. Metzger</b> <<a href="mailto:perry@piermont.com">perry@piermont.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br> "Steve Herborn" <<a href="mailto:herborn@usna.edu">herborn@usna.edu</a>> writes:<br> > However, that being said I would think that it is usually easier to teach a<br> > Scientist to code, then a coder the PhD level of the science.<br>
 <br> <br>I think either is fine -- you wind up with someone who knows both. The<br> problem is when you try to segregate the two skills.<br> <br> I think I finally have the right analogy. A physicist is interested in<br>
 advancing physics, not in advancing mathematics, but as the tools of<br> physics are all made of math, he cannot ignore the math or hope to<br> turn to a specialized hired mathematician who knows no physics to do<br> his math thinking for him. The math and the physics are integrated --<br>
 you need one mind to see both in order to get anywhere.<br> <br> Writing good software for physics problems is no different. The<br> physics and the software are one. You can complain that you want to do<br> physics, not computing, but that's exactly like complaining you want<br>
 to do physics and not math. Indeed, software pretty much *IS* math.<br> <br> The attempt seems to be to somehow treat the computer science as<br> though it were the software equivalent of machine shop work.<br> <br> You're building a new instrument, so you draw up the parts, and then<br>
 you ask a machinist to make them. "I need a sheet of metal 12cm by<br> 12cm with holes here and here."  It is somehow imagined that you can<br> do that with the software -- you make some vague guesses about what<br>
 you might need and write a spec (which is imagined to be like a<br> blueprint for a part) and ask a "software machinist" to make it for<br> you.<br> <br> Unfortunately, this misses the point -- the computer programming is<br>
 not like machining the parts for the instrument, it is like<br> *designing* the instrument. That requires both knowledge of both<br> fields, not just of one. It is not at all like machining.<br> <br> This is of course a serious problem. It takes at least several years<br>
 of effort to become facile with computer software just as it takes<br> several years of effort to become facile with calculus, differential<br> equations, etc., etc., and fundamentally one wants to be doing<br> science, not math or computer programming, but I can't see any real<br>
 way around it in the long term if progress is to be made.<br> <br> Incidentally, THIS IS NOT A NEW ARGUMENT. It was only a little over a<br> century ago that people scoffed at the idea that engineers needed to<br> learn higher mathematics. "I'm trying to build a bridge, not to do<br>
 math!" was the general sort of attitude that was common. Eventually,<br> people realized that there was no way around it, you just had to spend<br> the time to learn the math or you couldn't be productive. I expect<br>
 something similar is going to happen here.<br> <br><br> <br> Perry<br> --<br>
Perry E.
Metzger                <a href="mailto:perry@piermont.com">perry@piermont.com</a><br> _______________________________________________<br> <br>Beowulf mailing list, <a href="mailto:Beowulf@beowulf.org">Beowulf@beowulf.org</a><br>
 To change your subscription (digest mode or unsubscribe) visit <a href="http://www.beowulf.org/mailman/listinfo/beowulf">http://www.beowulf.org/mailman/listinfo/beowulf</a><br> </blockquote></div><br>