Xref: utzoo comp.lang.c++:2128 comp.lang.c:14387 comp.lang.forth:675 comp.lang.fortran:1542 comp.lang.misc:2209 Path: utzoo!attcan!uunet!altnet!ernie!koll From: koll@ernie.NECAM.COM (Michael Goldman) Newsgroups: comp.lang.c++,comp.lang.c,comp.lang.forth,comp.lang.fortran,comp.lang.misc Subject: Re: Assembly or .... Summary: New hardware, poor compilers, special features Message-ID: <189@ernie.NECAM.COM> Date: 29 Nov 88 17:04:52 GMT References: <1388@aucs.UUCP> <729@convex.UUCP> <1961@crete.cs.glasgow.ac.uk> Organization: NEC America RATS, San Jose, CA Lines: 30 I have tried it both ways - one project I wrote 90% in C and 10% in ASM and the next project I tried 100% in C. (I tried also 100% in ASM, but we won't go into that ahem, cough, cough :) ). I need ASM. When you are working on drivers or hardware specific items, C (or PASCAL) makes assumptions about hardware that aren't true, and to do the job in C requires using such convoluted, obscure code that maintainability and productivity are gone anyway. This is just as true for non-time -critical things such as keyboard handlers as for time-critical things such as communications handling routines. There is also the question of what happens when a new machine (like the IBM PC or MAC, or whatever) comes out and the C compilers for it are late or terribly buggy, or soooooooooo slow, and there are few if any utility packages for it ? Users are used to (and should have !) crisp, snappy feedback for window manipulation and I/O and it takes years to get the utility packages (often written in ASM) that will do that for you. Only in the academic world can code be written to be 100% machine independent. The rest of us have to struggle with those little quirks of the chips. In the old days, you might have needed to know about valves/tubes, now even the hardware designers only work on the IC level, but us softies should know about it too for that little weirdness that creeps in on us from the ICs. Otherwise, I agree with the arguments for portability, and maintainability, and productivity over sheer crunch speed.