From: cwilkins@irscscm.UUCP (Charlie Wilkinson)
Subject: Re: The need for an assembler (was: Favorite CPU)
Organization: Internal Revenue Service
Date: Tue, 11 Aug 1992 20:52:28 GMT

This sounds like teenage rednecks arguing over Ford vs. Chevy...

You don't have to be a net.genius to understand that every platform and/or
situation has different requirements/limitations/quirks that make someone
making a blanket claim that "XXXXX language is better" sound like a real
idiot.  

You might as well say "My Formula One is better than your Mack truck."
Sure it goes fast, but let's see how fast it'll move your furniture into
your new apartment.  The point being (in case you choke on analogies) that
every such choice involves weighing strong points and limitations with a
liberal sprinkling of subjectivity thrown in.

I program mostly in C.  Why?  Because I can quickly and easily throw together
things that would be more difficult and time consuming for me to code in assy.
Is C better?  No!  C is good at what C was designed to be good at, period.
Is assy better?  No!  On a PC platform I can install MSC out of the box, and
code "hello.c" in about 30 seconds in 3 lines or less.  How long would the
equivalent take with a "pristine" installation of MASM?  Now on the other
side of the coin, the MASM version will probably be less than 50 bytes of
executable (hello.com) and the MSC version is likely to be over 5k, all
to print "Hello World" on the screen.  None the less, there are times when
such glaring differences are irrelevant.

I'm not an expert in either language but I have used both enough to know
that the all around "best" program may well be a mix of both languages, and
mixing the two is something I have done on more than a few occasions,
according to the following strategy:

Use assy when: You need absolute maximum speed or minimum code size at
	       the expense of coding time, or you need to "get down on
	       the hardware" in a way that an HLL won't let you do.
	       (Or, in the case of MSC, you don't want the compiler
	       "second guessing" what it is you're trying to do.)
	       You can do damn near ANYTHING in assy.

Use C (HLL) when: Time constraints and level of complexity mandate that
	       you use a language that gets the maximum done with minimum
	       typing and debugging, or you simply don't need the advantages
	       of assy.
	       
(I should point out that these are merely my preferences, but you'll find
them echoed in many books that discuss HLL vs. LLL.)

If I had to create a data entry form for a Windoze app, I sure as hell 
wouldn't code it in assy, I would use Borland's Object Vision or some such
thing, even though I currently take great joy in poking fun at it.  ("Fire
the programming staff, we have Object Vision now!!")  At least on the PC
platform, the trend is away from the low level nuts and bolts and towards
the HLL.  If you look at a sampling of Windoze apps, you'll find that the
vast majority are written in some type of compiled language.  The only
place you are likely to find assy used is in the device drivers or in-line
in specific app functions where speed is critical.  I just hope that it 
doesn't get to the point where I ask "How do I do XXXXXXX?" only to be 
told "You can't get there from here."  :-)
--
cwilkins@irscscm.uucp                                   /======================\
uunet!mimsy!prometheus!media!ka3ovk!irscscm!cwilkins    | Micro-Sig(tm) pellet |
N3HAZ@KA3RFE.MD.USA.NA                                  |   -just add water    |
...or you can call me Charlie                           \======================/
Xref: sparky alt.folklore.computers:12895 comp.unix.misc:3335