Path: utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!unmvax!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: <10330099@accuvax.nwu.edu>
Date: 8 Dec 88 14:21:56 GMT
References: <6176@fluke.COM>
Organization: Northwestern U, Evanston IL, USA
Lines: 48

>>[ Responding to the problem of assembly not being portable ]
>>Let me back off from this one a little - I didn't state it very well. (Yes, 
>>I have written a lot of software - for almost 12 years now). I think the above
>>statements have more to do with cold-killers than reality. I will agree that
>>purely mathematical, or "semi-numeric" type problems, are good candidates for
>>high level languages (assuming decent compilers are available, and these
>>routines are not critical ones). What I really meant to attack is the use of
>>portability for things like user interface code, file system interaction, etc.
>>There seems to be an ugly trend toward "totally" portable code - this can
>>only lead to lowest common denominator code.

>According to Microsoft, 90% of the code for Excel is the same across
>Mac and DOS/Windows platforms.

>General code for file-system management is *precisely* what you want;
>then your application can just make calls to the general routines
>"get_file_name_from_user", "open_data_file", "write_record", etc.  When
>porting to a different platform, only these low-level interface
>routines need be rewritten.

Exactly my point, I think. What I'm saying is that these low level routines
are good candiates for assembler.

>Of course user-interface code should not be ported to inappropriate
>platforms, but an additional "user-interface manager" layer can be
>written to interface the application to the particular windowing
>environment.

>Use of high-level languages allow you to maintain a single (large) body
>of code that can be used regardless of the specific operating system,
>window manager, CPU, etc.  Wouldn't this be difficult (or even
>impossible) to do if the majority of your code was written in assembly?

Yes, indeed. The "portability" quote is something I wish I hadn't said.
Let me put it this way: For something like Excel, high level languages
make sense, mainly because MicroSoft makes it's money by spreading itself
to as many platforms as possible. If they had no intent to move onto 
multiple machines, then assembler would be something to consider.
Some types of code can't be moved to another machine and make sense; for
code that can't be ported, assembler would be viable option.

>   Steve Baumgarten             | "New York... when civilization falls apart,
>   Davis Polk & Wardwell        |  remember, we were way ahead of you."
>   cmcl2!esquire!sbb            | 
>   esquire!sbb@cmcl2.nyu.edu    |                           - David Letterman


Bob Hablutzel	BOB@NUACC.ACNS.NWU.EDU