Absoft MacFORTRAN II
|Column Tag:||Kelly's Corner
ABSOFT MacFORTRAN II
By Dave Kelly, MacTutor Editorial Board
MacFORTRAN II Perspectives
ABSOFT MacFORTRAN II: Youve seen their ads since being released last June. I encourage you to take a look at an ad for MacFortran II for a list of features. These comments here are incomplete unless you take a closer look at the features advertised. It is not my purpose to list the features here, but I will give my impressions of it from the perspective of someone new to MPW.
I first heard of MacFORTRAN II when MacWeek made mention of it. ABSOFT agreed to loan me a copy for about 2 months which has not given me a lot of time to work with MacFortran II.
Fortran was a required class in my engineering curriculum. That was about the last time I had even seen FORTRAN (FORTRAN IV actually) except for the first release of MicroSoft Fortran for the Macintosh. Since that time there have been many useful extensions and improvements which are incorporated into MacFORTRAN II. The most noticeable one was the missing card reader. I remember writing my FORTRAN program on a coding sheet and then waiting in line to use a card punch machine. Each statement had to be perfectly punched onto a card with the only one way to correct mistakes start over with a new card. Believe me that was not so fun. Maybe some of you can relate to this.
Finally, the entire deck of punch cards were submitted for batch processing at the computer center. It usually took about two or three hours before the batch was run, and then I could find out that one card was out of order, or that I made a typo that I didnt catch before. (And you thought that the Edit-Compile-Link-Run loop was bad). Ah, those were the days. Im sure glad thats over. After a few passes through the system, I would finally get my paper printout with my program results.
When MacFORTRAN II arrived at my door I was immediately delighted by its features (I love opening packages its just like Christmas). The documentation comes in a three-ring binder and 10 tabs to divide sections. Like many other documentation packages, the pages and tabs had to be separated and inserted into the binder. Sections include Using MPW, Macintosh Programming, FORTRAN Statements, Input/Output, and subroutines/functions. A tab is provided that briefly lists VAX/VMS, FORTRAN 90, and DoD MIL-STD-1753 extensions. The manual contained adequate documentation to cover the language features. However, it assumes that you already know Fortran from somewhere, though not necessarily every version of the language.
Since I had never used MPW, I had another learning curve to overcome. My experience has been limited to THINK Pascal and a casual acquaintance with MPW from MacTutor articles. My advice to new users of MPW is that you dont let the MPW shell overwhelm you. The MacFortran manual shows you how to compile a simple Fortran program which involves manipulating the commando interface. I recommend that you read through the manual before getting started if you are unsure of how MPW works. Experienced MPW users should be able to get going without any help from the manual at all.
After browsing through the manual, it is informative to run some examples which are provided with MacFortran II. The best part is that these Fortran example programs are filled with plenty of comments. As a matter of fact since I mentioned this, MacFortran II can automatically generate a Macintosh user interface shell (called MRWE: MacFortran Runtime Window Environment) which is great for providing the look and feel of the Macintosh in Fortran programs which have been ported over from other systems. The nice thing is that the source code for MRWE is provided complete with jillions of comments. This code may be modified to your hearts content or studied as examples of some of the Macintosh ROM calls. This could save you a lot of time even if you choose to use your own application shell and compile without MRWE.
Unfortunately the same formats of the Fortran language still bear the scars of the days of punched cards. Fortunately you have a choice. The Fortran 90 Free Source Form (for example) doesnt require characters to appear in any particular column. In the punched card days putting characters in the correct column was an important part of Fortran. The Free Source formats make editing much easier when using the MPW editor. Unless you use Freditor (the Fortran Editor I talked about a few issues back), you wont know which column you are typing in without counting characters. With Free Source formats columns dont matter so thats not an issue. If you need to use the fixed format (fixed column format) you could find editing in Fortran annoying.
One of MacFortran IIs strengths is also a weakness. The strength is that it takes advantage of the faster Macintoshes (i.e. the 68020 and 68030 based machines). This is not a problem if the programs you write will ONLY be used on this type of machine. If someday someone tries running on a 68000 based machine then KA-BOMB! In addition, MacFortran II expects a math co-processor to be used. This further limits which machines may use MacFortran II compiled code and defines which ones will bomb. Pascal or C routines attached called from a Fortran program MUST be compiled with the 68020/30 and 68881 math co-processor options. All of this comes in the midst of Apples warning that developers write software that is not be dependant on a machines configuration.
Absoft will continue to market MacFortran for the Mac Plus and SE as well as MacFortran/020 for 68020 based machines. If your requirement is speed, MacFortran II may still be your best choice. The MacFortran II advertisements promote that it is the fastest Fortran ever available. My comments are not complete without mentioning the VAX/VMS, IBM/VS, and Fortran 90 extensions. This compatibility should make VAX and IBM mainframe users happy as they transport their Fortran programs to the Macintosh.
MacFortran II is available from:
2781 Bond Street
Rochester Hills, MI. 48309
Requires: Mac II, IIcx, IIci, IIfx, or SE/30 with hard disk (about 5MB free space for MPW) and 2MB of RAM
No copy protection