Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!amdahl!pacbell!sactoh0!tree!stever From: stever@tree.UUCP (Steve Rudek) Newsgroups: comp.sys.ibm.pc Subject: Re: Why unix doesn't catch on Summary: OS/2 is written in *assembly* not 'C'; is Microsoft just stupid? Message-ID: <274@tree.UUCP> Date: 27 Apr 89 19:13:07 GMT References: <7632@phoenix.Princeton.EDU> <256@jwt.UUCP> <2496@bucsb.UUCP> Organization: TREE BBS (916)-349-0385 Sacramento, Ca Lines: 70 In article <2496@bucsb.UUCP>, crewman@bucsb.UUCP (JJS) writes: > In article <631@eecea.eece.ksu.edu> (Terry Hull) writes: > > > >In article <9286@watcgl.waterloo.edu> (Stefan M. Vorkoetter) writes: > >> > >>In article <268@tree.UUCP> (Steve Rudek) writes: > >>> > >>>Portability is the enemy of excellence. > >>> > >> > >>Bull! > > > >I agree. I do not think that protability is the enemy of excellence. > >On the other hand, writing inefficient code in a high-level language > >will not produce a good spreadsheet to run on an 8088. You might have > > I think that whether or not portability prevents excellent software > depends heavily on the state of technology. It used to be that the ... > still just a bit too slow. But as soon as hardware is no longer a limiting > factor, and the real bottleneck is the software, portability will no > longer be any kind of obstacle. I believe this will be true in at most > a decade. Well, I'm back! Sorry I missed the interim discussion. I don't get any particular thrill in stating a reality; I'm tired of having to switch operating systems every 5 years and I really would prefer to see UNIX and high level languages (not necessarily C) win out. I read just the other day in _Computer_Systems_News_ that Microsoft's OS/2 for the 386 is being delayed because of the difficulty of converting 100,000+ lines of 286 assembly to 386 assembly. This is *Microsoft*, people: You know--the company which markets perhaps the best optimized C compiler in the world. And they aren't writing OS/2 in C; or even following the UNIX lead and doing it 95% in C with bottlenecks in assembly. You suppose they're just stupid? I understand that VMS (the preeminent OS for the Digital VAX minicomputer line) is primarily or entirely in assembly as well. I guess they missed the boat? No. The fact is that UNIX on a VAX doesn't even compare, from a pure performance standpoint, with VMS. And the efficiency of UNIX on the 386 is almost certainly going to look rather sickly when compared to a mature version of 386 OS/2. Does anyone remember the UCSD "P-Code" operating system which at one point was being touted as superior to MS-DOS because it allowed developers to sell basically the same software for disparate machines such as the Apple II and the IBM PC? Just a couple small problems: (1) it was dog slow and (2) it couldn't offer products to compete with things like 1-2-3 which insisted on "cheating" and doing non-portable stuff like direct screen writes. Sure, you can always say: "Throw more hardware at the problem! If you can't do it on a 286 use a 386. C may not be fast enough on a Micro but what about a Mini? No? How about a Cray supercomputer?" Unfortunately, better hardware costs (almost exponentially) more money and so there is *always* going to be a desire for the BEST software to push the limits of the hardware--and that just can't be done in a "portable" manner. Hardware will be "fast enough" to obviate the advantage of assembly language shortly after the appetite for bigger and better software is satisfied. But you all want windows, don't you? And next year you'll want voice recognition and speech synthesis. So do I. The growth in expectations will go on *forever*. Sure, better coding and algorithms may give a C program a temporary lead. But no matter what can be done in C it can be done BETTER in assembly. It sorrows me that there is this tradeoff. But I'll repeat: Portability IS the enemy of excellence. ---------- Steve Rudek ucbvax!ucdavis!csusac!tree!stever ames!pacbell!sactoh0!tree!stever