From: dseal@armltd.co.uk (David Seal)
Newsgroups: comp.arch
Subject: Re: Goals, Cost, and Flexibility (was Re: "Training" of programmers)
Date: 2 Oct 92 13:52:15 GMT
Distribution: comp
Organization: A.R.M. Ltd, Swaffham Bulbeck, Cambs, UK

In article <BvF75z.GBA@mentor.cc.purdue.edu> hrubin@mentor.cc.purdue.edu
(Herman Rubin) writes:

>In article <1992Sep29.232852.22456@CS.ORST.EDU> crowl@jade.CS.ORST.EDU (Lawrence Crowl) writes:
>>In article <Bv1G5B.AGn@mentor.cc.purdue.edu>
>>hrubin@pop.stat.purdue.edu (Herman Rubin) writes:
>>>In article <1992Sep22.212534.14185@CS.ORST.EDU>
>>>crowl@jade.CS.ORST.EDU (Lawrence Crowl) writes:
>>>>What's more important is that your presentations of your algorithms are
>>>>ill-defined.  There is a reason that programming languages are precise, the
>>>>machines have no capacity to deal with imprecision.  You presentation assumes
>>>>far too much about how the rest of us will interpret your examples, in
>>>>particular, you assume that we'll "set everything up right and call stuff in
>>>>the right way".  Such imprecision in your presentation leads us to believe you
>>>>don't know what you're talking about.
>
>The programming languages are far from precise.  CERTAIN situations are
>handled moderately well, but unless exact integer arithmetic is used, all
>such languages as Fortran and Pascal and C have ambiguities.

So if your algorithms run into those ambiguities, tell us how they should be
resolved *for your particular algorithm*...

>I believe that any mathematician, knowing what is involved in random number
>generation, will understand my terminology.  A programmer, used to programming
>terminology, may very well be able to copy the procedure, but will not have
>the slightest idea how to modify it from one machine to another.  

**FLAME ON**

It may have escaped your attention, Herman, but this is comp.arch, *NOT*
sci.math. Even on sci.math, it would be polite to bear in mind that while
your readers could be expected to be mathematicians, they can't necessarily
be expected to be mathematicians who know "what is involved in random number
generation", and to explain things accordingly.

There is sufficient expertise in this group to be able to discuss your
problem, *provided* you can present a *precise* and *fully detailed*
algorithm to us. However, if you insist on presenting the algorithm in a way
that we quite correctly find imprecise, then hiding behind the fact that
experts *in an entirely different field* would understand what you meant,
there is very little chance that it will generate anything useful.

Some examples of things you need to be precise about:

  * The buffers involved. You present us with an algorithm which, on the
    face of it, doesn't involve any buffers, then talk about the buffering
    problems involved. As far as I understand it, the buffers are actually
    "hidden" in a procedure to generate uniform random numbers that you
    haven't bothered to tell us anything about. Are you surprised that
    people have trouble working out what you're talking about?

  * The class of machines you expect the algorithm to run on. For instance,
    one of your recent postings suggests that you're particularly concerned
    about SIMD machines. It's known that algorithms often have to be
    transformed to work efficiently on such machines. So are your problems
    purely with SIMD machines, or are they more general?

Finally, your idea that "A programmer, used to programming terminology, may
very well be able to copy the procedure, but will not have the slightest
idea how to modify it from one machine to another": rubbish. If programmers
were that restricted, compilers wouldn't have a hope of working - they have
even less understanding of algorithms than the worst programmer in the
world.

What *is* true is that the better a programmer understands an algorithm, the
better he or she will be able to code it for a particular machine. But a
lack of complete understanding doesn't imply that all you can do is copy the
algorithm: it simply restricts the set of things you can do to it.

**FLAME OFF**

David Seal
dseal@armltd.co.uk

All opinions are mine only...