From: lasner@watsun.cc.columbia.edu (Charles Lasner)
Newsgroups: alt.folklore.computers
Subject: Re: The need for an assembler (was: Favorite CPU)
Date: 31 Aug 92 05:02:54 GMT
Reply-To: lasner@watsun.cc.columbia.edu (Charles Lasner)
Organization: Columbia University

In article <9224103.2761@mulga.cs.mu.OZ.AU> fjh@cs.mu.OZ.AU (Fergus Henderson) writes:
>lasner@watsun.cc.columbia.edu (Charles Lasner) writes:
>
>>In article <9224002.2167@mulga.cs.mu.OZ.AU> fjh@mundil.cs.mu.OZ.AU (Fergus James HENDERSON) writes:
>>>
>>>It's been said before, but I'll say it again: ANYTHING that an assembly
>>>language programmer can do, a compiler can do to, and probably does
>>>already. If it doesn't yet, it may well do so tommorrow, and you only
>>>have to improve the compiler ONCE and it will keep optimizing your
>>>programs as long as you keep writing them.
>>
>>Yes, it was said before, and it's still just as wrong now as then.
>
>I maintain that ANY given assembler "trick" CAN be built into a compiler.
>If it is seriously worthwhile, then it WILL be.
>
>>Only someone who has never used the items discussed throughout this thread
>>that never get translated would defend such a statement.
>
>This is known as "attacking the man, not the argument".
>If you disagree with my argument, then state your reasons, don't
>simply insult those who disagree.

The statement stands.  We sufficiently discussed items that don't translate
into hll as currently implemented everywhere.  Thus, you deny what has been
universally agreed upon.  (The relative merit of the untranslatables is
another issue, but not their existence.)  Don't insult me by acting like
you've been following the thread, and then clearly contradicting it when no
contradiction on this specific has been posted by anyone.  If you missed the
beginning of the thread, go back to an archive of a.f.c, but don't reply as
"authoritatively" with regard to this.  BTW, I didn't post the reference to
several untranslatables, etc., but I did give an example of a lesser one.
Some of you e-mailed me with counter-examples; all had flaws.

The closest one was someone who stated that a compiler was able to produce
the *same* algorithm as I used in assembler.  It was *almost* the same,
but was actually different, because it required double-precision arithmetic
(longwords) to guarantee that the code worked.  The assembler solution is
to admit to a restriction, and depend on programmer competence to avoid the
mathematical pitfalls of the limitation should it apply, or to provide
safeguards such as safety conditionals around the code to force errors should
the code be unworkable.

In any case, this was the least significent of several specific areas of
programming that don't translate; no one else felt the need to give examples
of the others.  Given the apparent consensus of people who feel that even
knowing assembly language is either beneath or above them depending, it might
be true that potential posters thought they were wasting their time on some
people who hadn't a clue about what the issues even were.  I have had some
e-mail from people frustrated sufficiently to take that position.  (Their
attitude is something akin to leaving pigs happy in sh*t.  If they have 
anything to add, they can post for themselves.)

In any case, the point was made abundantly clear: there are untranslatable
features expressable only in assembler.  The beauty and elegance of the
techniques are lost on hll-only-knowledgable people, who clearly never use
them.  Whether this matters or not, I would assume that without an
understanding of how the techniques work, one isn't qualified to render a
useful opinion.

cjl
Newsgroups: alt.folklore.computers,alt.religion.computers