★ APPLICATIONS ★ PROGRAMMATION ★ NEVADA FORTRAN ★ |
Nevada Fortran (Computing With the Amstrad) | Applications Programmation |
FEW would disagree that the least expensive product in a range is not necessarily the best value for money. Nevada Fortran, from Ellis Computing, USA, is by far the cheapest Fortran compiler on the market at just £39, with its nearest rival for CP/M machines easily topping the £200 mark. With that sort of price differential it is hard to avoid saying that whatever the shortcomings of the product penniless programmers who need Fortran on a micro could do no better for their money. Of course everything depends on requirements, and Nevada Fortran certainly has its deficiencies. Perhaps the worst of these is that it is slow -not only compared to its mainframe equivalents, but also to other micro-based compiled languages such as Turbo Pascal, see the bench mark timings in Figure I. However many potential users are likely to need it less for autonomous software development than for editing and testing modules downloaded from a mini or mainframe, or written and debugged on a PCW or CPC6128, then uploaded. Given the frustrating response time of many multi-user systems an objectively slow compilation and program execution under CP/M might well seem to some like an express train, quite apart from what a micro can offer in reducing the nervous strain caused by screen messages warning that allocated CPU time will imminently be exceeded. It has to be said, however, that as a stand-alone language Nevada Fortran is somewhat restricted. It has no Link facility, so unlike some of its micro-based competitors such as MS-Fortran and Pro-Fortran, it does not come with a library of subroutines on disc, and all modules have to be compiled in one go. It also produces threaded code -that is, it creates a CP/M executable file - with a .COM extension, by first loading a set of routines ready to be called from the assembled Object file.
This is almost certainly why run times are so slow, but threaded code brings with it another disadvantage -the full run time package is loaded every time, regardless of what the Object code requires. This means that all .COM files start with an overhead of 16k, a significant consideration on machines with 60k or less of TPA. All in all if even moderate amounts of data have to be handled in RAM or if speed is of the essence Nevada Fortran is clearly not the language to choose for commercial software development on Amstrads. On the other hand it really comes into its own as a pocket companion to a marnframe compiler. For a start it more or less conforms to ANSI X.39 1966 Fortran. We experienced no problems in transporting our test programs directly from a DEC VAX mainframe to a PCW where they ran without modification. We then edited and returned them to the mainframe, again with no difficulty whatsoever. For those in the know it is worth mentioning that Nevada Fortran does not support double-precision and complex arithmetic, statement functions, subscripted subscripts and a few other sophisticated facilities specified in ANSI-66. However it does have some features which go beyond the 1966 standards, including free-format I/O, extended error-handling and IF-THEN-ELSE, ENCODE and DECODE functions. It also features a COPY statement for inserting source files into a program, direct in-line assembly language, random access to files and the ability to chain a series of programs. As for the question of limited memory and disc storage on a micro this problem is partly solved by a run-time module which allows you to execute an Object file for testing purposes without creating a .COM file. And as a bonus the Object file itself is generated in very compact form, precisely because of the threaded code. The documentation is clear, comprehensive and well organised, though as might be expected with a language aimed mainly at existing programmers it assumes familiarity with both Fortran and CP/M. If Nevada Fortran seems to fit your needs one essential will be to invest in ED80, Hi-Soft's all-purpose code editor. It is too much trouble to load LocoScript, WordStar and so on every time you need to make modifications to the source code. ED80 takes up only 8k of memory and has WordStar-compatible facilities including direct cursor addressing, side scrolling and dynamic block handling. There can be no doubt that a total of £50 or so for compiler and editor represents outstanding value for money. As Amstrad machines, particularly the PCW, are increasingly used as mainframe terminals Nevada Fortran is bound to notch up substantial sales-and deservedly so.
CWTA
|