Path: utzoo!utgpu!watmath!clyde!att!rutgers!mailrus!ncar!tank!nucsrl!accuvax.nwu.edu!bob
From: bob@accuvax.nwu.edu (Bob Hablutzel)
Newsgroups: comp.sys.mac
Subject: Re: The Mythical Man Month
Message-ID: <10330090@accuvax.nwu.edu>
Date: 2 Dec 88 14:38:08 GMT
References: <6176@fluke.COM>
Organization: Northwestern U, Evanston IL, USA
Lines: 40

>>	   The only reason HOLs are considered an advantage is because most
>>	   programmers are really coders
>
>Assembly language is inherently more complex, leading to less real work done,
>and more time wasted on complexities that are not a part of the real problem
>(the real problem is getting the job done, correctly, not organizing register
>usage for every line of code you write, etc.).  Thus HOLs are an advantage
>because they help reduce complexity.  The lines-of-code stat is a side effect
>(and should be taken with a grain of salt, as should any software metric).

Assembly language is _not_ inherently more complex. I program in assembler
as my language of choice for two reasons: (1) I tend toward projects which
either have to be very small, very fast, or very intimate with the operating
system, and (2) I can understand better what is happening in a program I 
write in Assembler. The problem is not inherent complexity, it's familiarity.

I will admit that one has to track register usage, and that this can sometimes
be snarled. However, I cannot think of any other disadvantage of assembler, 
provided you have a decent Macro based assembler. (MACRO on VMS and MPW
Assembler both fit this bill).

The final difference here is that I am most comfortable with assembler, and
therefore work fastest in it. Whenever I try to switch to Pascal, or any other
high level language, I envision my code in assembler, and translate it to
the high level language. I do not advocate assembler for everyone, but for
me it is the language of choice; I am highly productive in it; and I wish
people would stop maligning it.

I started this whole discussion ( I think :-)) when I said that compilers
do not produce as efficient code as hand written assembly. To my mind, _every_
piece of code should be as efficient as possible; anything else is simply
wasting the users time. (Granted, a microsecond wasted is not a loss. But
these things add up). If compilers truly did generate code as efficiently as
assemblers, why, tell me why, nearly everyone agrees that "For time critical
or tight loops assembler should be used to optimize"

Tell me: What code is non-critical?

Bob Hablutzel	BOB@NUACC.ACNS.NWU.EDU
Disclaimer:	These opinions are obviously mine - no one else wants them.