[comp.sys.mac] Good Fortran Compiler for the Mac. The results are in.

jtfox@lion.waterloo.edu (Todd Fox) (03/14/88)

Several weeks ago I posted looking for a good Fortran compiler for the
Mac. I got quite a few responses - most of which sounded like:

  Yeah, I'm looking for one too. Let me know what you get.

Compiler people take heed. There seems to be a weak spot in the market
here.

I got some negative reviews of various compilers. These and my own I will
share with you now.

Microsoft
  It's the one we ended up using. You don't get to do any of the nice little
file handling things that we all got used to with the IBM Fortrans we've 
used. (ie deleting files, getting directories) These things are useful
to a lot of applications so I can't understand why it's been left out.
They have this thing they call a toolbox that let's you do all those Mac
things like play with windows and it appears to be the way to get at file
creation/manipulation et. al. They kindly refer you to this 100 dollar book
if you want to get deeper but they don't say if it'll do any of the stuff I'm
interested in. The only way I know this stuff can be done is because they 
have a completely undocumented routine that renames a file using some
toolbox generated pointers. Why stop there? Why not write a few more routines?
They do have a print spooler and time and date routines though.
  I'm not sure why this compiler has such a time with large numbers of
common blocks. The numerous IBM compilers we have used had no troubles at all
and the IBM has much less memory to play with and it's segmented at that.
Regardless, this compiler just wouldn't take it. I ended up taking most
of the common blocks out of BLOCK DATA and initializing them with assignment
statements (ie. x = 5). Needless to say, this took a great deal of time. I 
can't wait until I get this thing running and start to find all the bugs
generated by typos.
  Another problem I've had is that the Microsoft compiler tends to squack at
things that have made it through tons of other compilers on everything
from an IBM 4341 to a microVax II to the IBM PC. Perhaps it's following the
standard a little more closely but I don't think so. Not after all the
compilers that this code has seen. This has certainly made porting a real
pain in the butt.
  This is the first compiler I've ever seen that won't let you use unit 6 as
the standard input and output. I thought this was a universal standard.
More changes (thank god we used a variable here).
  The debugger bothers me to no end. It came so close to being a really nice
one too. And the error messages are absolutely terrible - especially from the
linker.
  Then there's the little things that I won't mention that make it just plain
awkward to use.

  Redeeming feature:  It compiles and links quite quickly. I don't know about
the execution speeds yet - I'm not that far. The code it's generating (so far)
is about 12% smaller than compressed code on the IBM-PC!

Pecan
  I had high hopes for these guys but they never made it. Another guy at
work did most of the work with this and barely got past step one. I found
the manual absoulutely terrible. Perhaps one of the worst I've ever seen.
The compiler is based out of a thing called the Power System. I believe
that this is some sort of an environment that needs to be present for your
application to run (don't quote me here). Of course this means the     
application takes up more room on disks when you ship it out the door.
Anyway, all the documentation for the power system lists examples using
PC-DOS and Pascal. But wait, I bought a Fortran compiler for a MAC????
I found that quite disturbing. A little Fortran manual came along too.
It mostly contains references to the power system manual. Wonderful!
The P.S. manual gives everal examples of getting the sytem date and time.
Good, at least it does that much. Of course the example is in Pascal.
Unfortunately, the Fortran compiler won't do this. You have to buy their
Pascal compiler to write the routine in and then link it in with your
Fortran code. They seemed to have noticed the need for these functions
when making the Pascal compiler but not the Fortran.
  What little I did use this compiler after these observations did nothing
my favour.

Others (sent in by you, the members of the net.land community)
   I only got very general comments on other compilers.

MacTran. PHHPPLLTTT. (I don't know how to spell that.)
 However I have been told that their version 3.0 may be pretty good.
One net.lander informed me that MacTran tries to keep their stuff reasoanbly
up to date (much more so than ABSOFT).

ABSOFT
 Not too good but better than MacTran.

One person told me about "Language System's FORTRAN-77". It's an MPW tool.
(whatever that means). He said the specs and demos look really good
(but they haven't had a chance to really beat it up yet). Those
interested parties can call Language Sytems in Herndon, VA (703) 478-0181.
Let me know if you do.

I hope my review has helped people a little. It's the best I could muster
up.

Good luck to anyone venturing into the lonely world of Fortran on the Mac.
--
Todd Fox  JTFOX@LION.WATERLOO.EDU
What? You were in the next room all this time?
I would have just come over to see you!