Current Notes May 1987 A / C F O R T R A N Industrial Strength Programing Reviewed by John Barnes The most recent entry in the sweepstakes for a Fortran compiler for the ST comes from Absoft, in Warren, MI. My previous review of ProFortran, from Prospero, in England, revealed my fondness for a language that I know from years of experience. Unfortunately, I was obliged to find a new compiler after ProFortran choked on some code that involved arrays of CHARACTER variables. Bob Menton, of NOVATARI, had already told me that AC FORTRAN was the new standard among the people he works with, so I trekked over to L & Y, plunked down my $129.95, and brought AC-FORTRAN home. I must say that I am pleased with the product, it is several jumps ahead of ProFortran, not only because it compiles my code, but because it is much more polished. I am told that this is the same package that MacIntosh users can buy under the Microsoft name. The manual states that the main program and overlays are the same for all of the 68000 based machines on which it runs. Each specific machine has its own front end and there are undoubtedly some differences in the run-time library. From this it appears that ST owners are getting a product that is already quite mature. The package includes two single-sided disks, and a thick reference manual. The disks contain the compiler, a linker, a run-time debugger, a librarian, some INCLUDES for interfacing to GEM, and a number of examples. Source codes for the library items are supplied if you need to pick them apart. I think this is a lot for the money. The compiler will generate 68000 assembler code, so that it is easy to optimize codes if you need to (provided that you have an assembler handy). With a little work you may be able to splice AC/FORTRAN modules into libraries for other languages. I find this a very professional touch. I do not have an assembler, so I cannot tell how well this works. The reference material includes a long section on interfaces to the GEM environment, but Absoft was obviously not able to package a whole shelf of reference material in one small box. You will need much more information (and time) if you want to delve into GEM. You will also need an external editor to write your programs. The compiler accepts straight ASCII text, and I use 1st_WORD as a program editor, although others might want to use something like EMACS for better speed. The compile, link, run cycle is very fast. Unfortunately I have not been able to build command procedures in an MS-DOS shell to automate this. The company states that the command structures are UNIX-like and a UNIX shell might be useful in the development stages. The compiler produces an executable image that links dynamically to the ____________________________________________________________________ ST - 1 - ST Current Notes May 1987 library modules it needs, so that you usually do not need the linker at all. I usually use the linker to produce a stand alone image, thus removing the necessity for dragging the libraries around, but the resulting code can be rather bulky. The linker and the librarian function straightforwardly. You can build command procedures for the linker, which is especially useful when you use lots of sub programs and libraries. Such written procedures also help to document your work and to prevent mistakes. The librarian is easy to use and it gives good listings of library contents. You must, however be careful when ordering things in libraries because the linker does not do backwards referencing, like ones on mainframes do. The real joy in using this product comes, however, when it is time to ferret out those pesky, inevitable bugs. In some ways the DEBUG utility supplied with AC/FORTRAN is better than the one for the VAX. DEBUG constructs a shell around your program that lets you set breakpoints, step through your code, and examine the values of symbols interactively. This largely eliminates the need for PRINT and PAUSE statements when debugging. The ability to display the source code while debugging is more than nifty. The DEBUG utility helps to compensate for the cryptic run time error messages. The Absoft product appears to implement the ANSI Fortran 77 standard very well, and there are extensions in the form of DO WHILE, CYCLE, and CASE constructs that go a long way toward making a truly structured language. As the above comments show I recommend AC/FORTRAN to experienced Fortran users or to those who want to learn this important language. Given the speed and ease of use in this product and the enormous amount of material in FORTRAN that exists in the real world, I expect the ST to become a desktop computer for serious work in mathematical modelling, engineering design, statistical analysis, simulation and the like. This is truly "Power without the Price". For those who want to pursue FORTRAN further I have put an application called LIST66 up on the WAACE BBS and on GENie. Look for it. I have also put up a file called BENCHMARK.ARC that contains the bench marks I used to evaluate ProFortran. I hope to get package together with the bench marks in various languages to make it easy to compare our results with those of, say, Steve Eitelman. ____________________________________________________________________ ST - 2 - ST itives for plotting points, lines, boxes, or ellipses, filling them, s