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.