[Beowulf] Stroustrup regarding multicore
Perry E. Metzger
perry at piermont.com
Thu Aug 28 08:04:12 PDT 2008
"Steve Herborn" <herborn at usna.edu> writes:
> However, that being said I would think that it is usually easier to teach a
> Scientist to code, then a coder the PhD level of the science.
I think either is fine -- you wind up with someone who knows both. The
problem is when you try to segregate the two skills.
I think I finally have the right analogy. A physicist is interested in
advancing physics, not in advancing mathematics, but as the tools of
physics are all made of math, he cannot ignore the math or hope to
turn to a specialized hired mathematician who knows no physics to do
his math thinking for him. The math and the physics are integrated --
you need one mind to see both in order to get anywhere.
Writing good software for physics problems is no different. The
physics and the software are one. You can complain that you want to do
physics, not computing, but that's exactly like complaining you want
to do physics and not math. Indeed, software pretty much *IS* math.
The attempt seems to be to somehow treat the computer science as
though it were the software equivalent of machine shop work.
You're building a new instrument, so you draw up the parts, and then
you ask a machinist to make them. "I need a sheet of metal 12cm by
12cm with holes here and here." It is somehow imagined that you can
do that with the software -- you make some vague guesses about what
you might need and write a spec (which is imagined to be like a
blueprint for a part) and ask a "software machinist" to make it for
Unfortunately, this misses the point -- the computer programming is
not like machining the parts for the instrument, it is like
*designing* the instrument. That requires both knowledge of both
fields, not just of one. It is not at all like machining.
This is of course a serious problem. It takes at least several years
of effort to become facile with computer software just as it takes
several years of effort to become facile with calculus, differential
equations, etc., etc., and fundamentally one wants to be doing
science, not math or computer programming, but I can't see any real
way around it in the long term if progress is to be made.
Incidentally, THIS IS NOT A NEW ARGUMENT. It was only a little over a
century ago that people scoffed at the idea that engineers needed to
learn higher mathematics. "I'm trying to build a bridge, not to do
math!" was the general sort of attitude that was common. Eventually,
people realized that there was no way around it, you just had to spend
the time to learn the math or you couldn't be productive. I expect
something similar is going to happen here.
Perry E. Metzger perry at piermont.com
More information about the Beowulf