[comp.arch] I hate COMPASS

amos@taux02.UUCP (Amos Shapir) (08/04/88)

In article <856@l.cc.purdue.edu> cik@l.cc.purdue.edu (Herman Rubin) writes:
>C cannot do the job.  The present assemblers have the disadvantage that they
>are atrociously difficult to read and write.  This is not necessary; COMPASS
>for the CDC6x00 and its descendents were easier, but not easy enough, and CAL
>on the CRAY easier still, but more can be done.  I wonder how difficult it 
>would be to use an overloaded operator weakly typed assembler.  Some think that
>C is this; maybe it was intended as a replacement for such an object, but it
>fails badly.

COMPASS is a wonderful tool: it has macros, micros, VFD's - anything an
assembler programmer can dream about. One can write code that looks just
like any HLL and hides the ugliness of machine code. That's why I hate
it.

Code written in COMPASS *looks* like HLL, but underneath it's still ugly
machine code, inefficient and impossible to debug. The more features of
COMPASS the programmer uses, the less s/he is aware of what code is
really generated 'down there' and is fooled into believing that it's as
good as code generated by a HLL.

In addition to types, records, type checking etc., high and medium level
languages have one other big advantage over macro assemblers: standards.
C cannot do everything, but at least it's (almost) the same language
everywhere. Macro-assembler programmers tend to develop their own private
languages, sometimes understandable by no one else.

-- 
	Amos Shapir				amos@nsc.com
National Semiconductor (Israel)
6 Maskit st. P.O.B. 3007, Herzlia 46104, Israel  Tel. +972 52 522261
34 48 E / 32 10 N			(My other cpu is a NS32532)

smryan@garth.UUCP (Steven Ryan) (08/05/88)

>Code written in COMPASS *looks* like HLL, but underneath it's still ugly
>machine code, inefficient and impossible to debug. The more features of
>COMPASS the programmer uses, the less s/he is aware of what code is
>really generated 'down there' and is fooled into believing that it's as
>good as code generated by a HLL.

Just use    LIST G,A    and you'll see what's there.
 
>In addition to types, records, type checking etc., high and medium level
>languages have one other big advantage over macro assemblers: standards.
>C cannot do everything, but at least it's (almost) the same language

If you're referring to a standard definition, C doesn't have one. If ANSI
every gets around to doing it, many compilers will be nonconforming.

If you're referring to a project coding standards, no language is going
to force a standard coding style for all projects unless your language
has been designed by Wirth.