Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!purdue!bu-cs!madd From: madd@bu-cs.BU.EDU (Jim Frost) Newsgroups: comp.sys.ibm.pc Subject: Re: Why unix doesn't catch on Message-ID: <30787@bu-cs.BU.EDU> Date: 7 May 89 20:26:27 GMT References: <7632@phoenix.Princeton.EDU> <256@jwt.UUCP> <2496@bucsb.UUCP> <274@tree.UUCP> Reply-To: madd@bu-it.bu.edu (Jim Frost) Followup-To: comp.sys.ibm.pc Organization: Software Tool & Die Lines: 52 In article <274@tree.UUCP> stever@tree.UUCP (Steve Rudek) writes: |This is *Microsoft*, |people: You know--the company which markets perhaps the best optimized |C compiler in the world. This is very arguable. It isn't even the best optimizing C compiler for MS-DOS, much less the best in the world. The MIPS C compiler might very well be the best (it consistently makes tighter code than people whose job it is to make tight code), but of course that's not the same environment. There are a variety of other compilers which produce better code than MSC, although few under MS-DOS given its memory constraints. |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. That depends on what you're looking for. The 80386 has been out for a pretty long time, yet OS/2 doesn't run there yet. IBM has already built prototypes of 80486 machines (an 80486-equipped model 70 was said to have "twice" the performance of the normal model at the same clock rate). When will OS/2 run native on the '486? UNIX will be running native before most people can get their hands on a '486-equipped machine. This lag is very detrimental. |sorrows me that there is this tradeoff. But I'll repeat: Portability IS the |enemy of excellence. You are wrong. A properly written portable program is usually easier to maintain and debug than a non-portable one. It may not be quite as fast, but it is my opinion that high reliability is better for the customer than optimum speed. What difference does it make that your program runs 20% faster if it breaks twice as often or doesn't necessarily get the right answer? To the developer, a portable program results in a much wider market, a big win. To the customer, a portable program means that it's more likely to be supported on newer, faster hardware than a nonportable one (eg OS/2 versus UNIX). To the programmer, a portable program probably means modularity, allowing you to snap in replacement code which is better, stronger, faster (and perhaps takes advantage of particular hardware) without breaking the application. It used to be the case where hardware was so expensive that you tried VERY hard to get 100% utilization. Hardware costs are so much lower, and performance so much higher, that it makes more sense to focus your attention on other matters (such as interface and portability) now. As hardware continues to improve, I believe you'll see this trend continue. jim frost madd@bu-it.bu.edu