[comp.sys.apple2] HLLs vs. Assembly Language

rhyde@gibson.ucr.edu (randy hyde) (04/02/91)

>There is a substantial trade-off between development time and actual
> execution time.

Of course there is, otherwise *everyone* would be writing in assembly
language today.

> This is rapidly outgrowing comp.sys.apple2

Perhaps not, the Apple II and Apple IIgs are the only systems left (i.e.,
low performance) with sufficient numbers on which you really *must* write
applications in assembly if you expect decent performance.  80486s, 68040s,
and SPARCs are almost fast enough such that you can write most small apps
in HLLs and people won't notice how slow they're running.  Not so on a 65xxx
(even with TWGS).

> Company X is writing in ... they'll come out with an application six months
> before you... and have upgrades when you first release your product...

Do you remember an outfit called CONTEXT?  They came out with a package which
had five integrated functions: spreadsheet, graphics, telecommunications,
database, and wordprocessing all in one program.  They came out with it
six months (or more) before Lotus 1-2-3.  Context MBA was written in
Pascal.  1-2-3 in assembly.  Need I say more?

> As a class (assembly language) at a university and as a concept it's great.
> However, for real world commercial applications, it's not.

See the note above!
Actually, I have been developing commercial applications for 15 years now.
Most of my work is in assembly language.  I make a very good living as
a part time consultant because I'm willing to work in assembly language
and people like you are not.  Since you're in the majority and there are
few assembly language programmers like myself around, I can charge more and
more for my time.  Thank you.  I don't won't to change your attitudes at all.
Why destroy my cash cow?


> I'd like to see some references to back up that claim (OSes written in asm
> are faster...

Alas, no such references exist.  Almost all modern OSes available in source
form to academians are written in C or some other HLL.  Portability is more
important than performance in the academic environment.  To go back to OSes
which were written totally in assembly you have to go back to systems
written in
the 60's and early 70's.  They used obsolete techniques.  Other modern OSes,
written at later times (e.g., MS-DOS, ProDOS, and, even MacIntosh OS) are
propriatary and not in the same league as systems like Mach or UNIX.
I can tell you from experience, I've now taught OS twice at Cal Poly
(and working
on my third quarter now).  I've always made the students write their process
managers in assembly (mainly because it's the only chance they'll ever have to
write a large program in assembly language).  I cannot say the same for the
file system, but the process manager is *definitely* easier to write  in 
assembly than in C.  I think the same can be said for the memory manager.  The
same is *definitely* true for many of the device managers.  Only the
file system
would be a definite winner in a HLL.  Performance-wise, though, it might be
a disaster.  But that's only a warm fuzzy feeling.  I wouldn't bet much on it.