From: xtifr@netcom.com (Chris Waters)
Subject: Re: Portable?
Date: Sun, 26 Jul 92 01:36:41 GMT
Organization: Netcom - Online Communication Services  (408 241-9760 guest) 

In <1992Jul25.224915.15078@news.Hawaii.Edu> tholen@galileo.ifa.hawaii.edu (Dave Tholen) writes:

>Phil Lafornara writes:

>>      This whole thread was started in response to the periodic postings
>> of "when Portable OS/2 comes out."  I questioned that, and asserted
>> that IBM would be introducing new bugs into the code when they did
>> the translation.  End of story.

>And I asserted that the probability of introducing bugs was increased, but
>not 100 percent.  Once again, you're using "would be" as though it was
>absolutely guaranteed that portable OS/2 will be buggier than "something
>not translated from assembly" (insert Windows NT here if you feel that it
>has been implied).

Um, I think I'll jump in at this point.  First of all, my credentials:
over 12 years professional experience with a variety of languages.  I've
specialized in maintenance and porting--it's not a glamorous field, but
it pays well.  And I've rooted around in some of the ugliest code you'll
ever hope not to see.  I've translated code from C to assembler, and
vice versa, as well as to/from Pascal, Forth, Basic, Fortran, and Algol.

I have no axes to grind--I'm using OS/2 because it's available, but I've
always been a fan of Microsoft, and I'd probably feel more comfortable
with an MS produced OS.  But XENIX is not what I want on my home
machine, and NT isn't out yet.  And OS/2 is working--better than I
expected, actually.

Anyway, I have to disagree with the statement that "translating code
from assembler to C introduces bugs."  Believe me, I've done a *lot* of
it, and this is far from *always* true.  Often true, perhaps.  But I
*don't* blindly try to do a one-to-one mapping between the C and
assembly code.  I find out what the assembly code is doing, and
*design*, then write C code to do the same thing.  But *not* necessarily
the same way.  With this approach, I find that I cure *almost* as many
bugs as I introduce, on the average.

This is essentially what MS has been doing with NT--working with the
design specs of DOS and Windows, and writing C code to do the same
thing.  I'd bet money on this.  And, I strongly suspect that IBM is
doing the same thing in their efforts to create a portable OS/2.  They
don't *need* to read the assembly code to port it to C--they just have
to know what it's doing (in detail), and write C code to do the same
thing.

Now, I admit that I don't work for IBM or MS, so I don't know what
either the OS/2 or NT code is really like.  But from where I sit, I
cannot see one good reason to think that more bugs will be introduced in
the creation of portable OS/2 than in the creation of portable
DOS/Windows (NT).   If NT has to read FAT filesystems, if it has to
handle interrupts generated by DOS programs, then it has code, DOS code,
ported from assembly.  Or so it seems to me.

If Phil has a rational explanation of why MS's porting efforts are less
likely to introduce bugs than IBM's, I admit I'd be interested to hear
it.  But all I've heard so far are comments that should apply equally to
OS/2 or NT.
-- 
Chris Waters    | the insane don't | NOBODY for President!
xtifr@netcom.COM| need disclaimers | Because Nobody's perfect!!