Path: utzoo!attcan!uunet!lll-winken!lll-tis!ames!ncar!oddjob!uxc!uxc.cso.uiuc.edu!uxe.cso.uiuc.edu!mcdonald From: mcdonald@uxe.cso.uiuc.edu Newsgroups: comp.sys.mac Subject: Re: Microsoft cuts corners, actuall Message-ID: <46100204@uxe.cso.uiuc.edu> Date: 22 Aug 88 15:00:00 GMT References: <6846@umn-cs.cs.umn.edu> Lines: 36 Nf-ID: #R:umn-cs.cs.umn.edu:6846:uxe.cso.uiuc.edu:46100204:000:1748 Nf-From: uxe.cso.uiuc.edu!mcdonald Aug 22 10:00:00 1988 >Thanks Oliver - The very first thing I should have criticized in my post last week >was Microsoft Fortran for the Mac. >Well, I haven't had to touch Microsoft Fortran since then (I usually work in >680x0 or C), but I did hear something very relevant and very curious. It seems >that Microsoft didn't actually do the compiler. It was really a company called >Absoft, which makes Fortran compilers. Fine. Well, they have THREE versions of >a Fortran compiler for the Mac. It is the low-end one that they sold to Micro- >soft. >Heh - we still haven't heard from the Microsoft boys yet on this particular >discussion. I hope they're either planning a revolution or looking for new jobs. Well, the Microsoft compiler has lots more wrong than that. First, all the programs I wrote with it refused to run on Mac II's (their bugs). Second, the code generation was abysmal. For example, a simple statement IF(i.lt.j)goto 100 should compile to a test and a branch on condition. How do they do it? They test, they load the flag into a register as a byte, extend the byte to a word, then the word to a long. Then they test the long, and branch on that. That kind of code is INEXCUSABLY bad! Third, and worst of all, this dumb compiler generates CODE for data statements! Instead of just compiling the data into a static data section, they store it as literals in the instruction stream. For example character*1 x(5) data x(1)/'a'/,x(2)/'a'/,x(3)/'r'/,x(4)/'g'/,x(5)/'h'/ generates 7 bytes of code for each character , 35 bytes total. Interestingly enough, Microsoft's product for the IBM-PC is excellent. Guess which computer I use now (hint: it has a very nice batch file processing system right in the operating system).