Programs for Programmers

Choosing your Fortran compiler

Fortran Compiler Systems - A brief guide

We offer Fortran compiler systems for PCs running Windows, Linux, and for Mac computers running Mac OS X.

Only Absoft(r), PGI(r), NAG and Intel(r) produce and support Fortran compilers for Linux and Mac OS X.

For Microsoft Windows(r) there is more variety. You can choose among compilers by Absoft, Intel, Lahey, PGI, NAG and Silverfrost. The latter one, i.e. Silverfrost FTN95, is the only one which also allows users to program in Fortran for .NET.

Which of theses compiler systems is the right one for you may be decided by one of the following criteria:

Are there pre-requisites imposed by the language means being used in legacy programs (i.e.v. Fortran "dialects")? Is compatibility, for example with IBM, Watcom, Microsoft, Digital or Compaq Visual Fortran necessary? Are runtime functions being used, which have been available only in Lahey F77L, LF32, or LF90, or Salford FTN77, or in another particular compiler? Do you want to use Fortran 2003 language means (catchword: "object oriented programming"), or even Fortran 2008?

If you feel unsafe here, please don't hesitate to ask us for advice. We know our compilers, we have worked with them.

Do you program in Fortran regularily or sporadically?

If the latter is the case, then you better take a compiler system which is easy to use. A product that you don't wonder how to use every time you start the IDE. Thus Silverfrost FTN95, or Absoft ProFortran are good examples. Otherwise, you may prefer a compiler by Intel or Lahey which both integrate in Microsoft Visual Studio - which is more complex to use than the other ones. Absoft Fortran

Do you want to program with mixed languages, for example link your Fortran routines with C++ programs?

With respect to this, Intel Fortran offers the most flexibility (you will need the full Microsoft Visual Studio for mixed langauge programming rather than the Shell which is included). However this also means it is the most complicated one to use (we offer training regarding this topic). Mixed language programming is easier when using Silverfrost FTN95 or Absoft ProFortran, in particular when it comes to creating DLLs.

Do you want to develop graphical user interfaces for Windows (GUIs), i.e. programs which interact with the user without READ(*,...)?

This is probably most easiest and quickest when using Silverfrost FTN95. FTN95 includes ClearWin+ with which, after a short time of learning (about half a day), it is possible to create GUIs in your Fortran program. In contrary to the competitors, ClearWin+ does not only allow to generate static dialogs, you can also create dynamic ones which allow for dialogs which may vary in design while your program runs.

Absoft ProFortran offers a Fortran application framework with which you can create static Windows GUIs. Absoft comes with GINO Lite which includes GINO Menu and GINO Menu Studio.

Intel's Windows Fortran compiler also contains routines for GUI programming (here, we also can offer training). However to use these, a complete Microsoft Visual Studio is required. The Visual Studio Shell which is part of Intel Fortran for Windows is not sufficient.

Lahey Fortran comes with a reduced version of Winteracter (the Winteracter Starter Kit - WiSK), which allows simple Windows GUIs to be created.

Is maximum performance for you a must? Or does a solid compiler suffice with which you obtain acceptable runtimes of your program?

The most sophisticated facilities for performance improvement is offered by Intel Fortran. However with the restriction that this high Intel Software reseller UKperformance is achieved on specific Intel processors only, causes some programs not being able to run on so-called Intel compatible processors, for example by AMD.

Absoft ProFortran too offers facilities for parallelised programming (using OpenMP), and this compiler is thoroughly an alternative to Intel Fortran - in particular because AMD and Intel processors are likewise served.

Do you have special requirements for the debugger, which belongs to the scope of supply of most of the compiler systems we offer?

Most functionality is offered by the compilers which integrate in Visual Studio (VS), thus Intel Fortran and Lahey Fortran. Absoft ProFortran and Silverfrost FTN95 are equipped with an IDE and debugger of their own. However, FTN95 can be integrated in VS too, meaning that it can use the debugger of VS as well.

What do you expect from the Integrated Development Environment (IDE)?

On Windows Intel and Lahey come with the Microsoft Visual Studio Shell (VS), in which the compilers are integrated. VS is functionally quite extensive, but since it is not restricted to Fortran programming, this might be a problem for some Fortran programmers who feel confused and overwhelmed by all of the possibilities the IDE offers. This impedes the usage in the beginning of VS (we offer training for Fortran programming in VS). Both Absoft ProFortran and Silverfrost FTN95 are equipped with more simple, but "Fortran centered" IDEs and therefore easier to use in particular for part-time or occasional programmers.

Absoft ProFortran is the only manufacturer who offers an IDE which is identical for all of the operating systems mentioned here. Intel's compilers for Linux and OS X do not come with an IDE.

NAG offer NAG Fortran Builder - an IDE for Windows and Apple Mac.

Do you want to create Fortran programs for various operating systems and benefit from a unified IDE?

Both Absoft,PGI and Intel offer compilers for Linux, MacOSX, and Windows. However, only Absoft provides an IDE which is identical for all platforms (AbsoftTools Fortran IDE). This can make programmers life a lot easier.

Do you need or 32 or 64-bit compiler?  Lahey Fortran compiler

All vendors now supply 32/64 bit versions - with the exception of Lahey Fujitsu Fortran for Windows which is 32-bit only (Lahey GNU Fortran adds 32/64-bit). However Silvfrost FTN95 have only just released their 64-bit version (May 2016) and there are still some diagnostic features missing at the time of writing.

Other criteria?

What about speed of compiler and linker, or compiler diagnostics (how good and helpful are error messages? what does the compiler permit? what not?)? Intel's compiler offers various options so that you can compile programs that don't conform syntactically fully correct to the Fortran standard. However, Intel Fortran is the slowest compiler with respect to compile time. And the linker (Microsoft's link) is certainly not as fast as FTN95's Slink, which also is the fastest compiler. FTN95 however is more strict with respect to error diagnostics.

The PGI compiler includes CUDA Fortran extensions targeting NVIDIA CUDA-enabled GPUs.

Absoft are the only vendors to offer mixed platform licenses (MAXFLEX).

PGI Fortran

Of course, what else comes with the compiler? Are there any add-ons or libraries, for example for numerical purposes? You will have to check our webpages or the ones of the manufacture for that. We hope they give sufficient advice. If not, please let us know.

Our recommendation: Ask us, or try the compiler system that comes next to your requirements. Almost any of our compiler manufactureres offer free evaluation copies available for a limited time.

We also recommend that you take a look at the Compiler Comparison charts produced by Polyhedron Solutions Ltd.