Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29274 Discussions

Moving an old big project from fortran to a new langage

seb_lz
Beginner
897 Views

Hello,

I've recently been hired in an enterprise where all programs were written in Fortran 77 under VAX VMS systems. With the time, these programs are getting very old and the original programmers are not there anymore. A big project consists in rewriting all the programs in a new langage. However, we need a good understanding of the existing code in order to migrate from Fortran to something else.

For this purpose, I would like to know what are the best fortran IDE that exist that would enable me to easily navigate inside the code from files to files. For exemple in Java, in modern ide like Eclipse a simple ctrl+click on a method appearing anywhere in the program will bring you straight away to the correct file and line where it is implemented. This is the kind of feature I need.

Any advice would be greatly appreciated :) !

Sebastien.

0 Kudos
6 Replies
seb_lz
Beginner
897 Views
I noticed a lot of includes were done using VMS logical names, so I think I will just use Eclipse Photran and forget about the links between files since the logical names won't be recognized under windows anyways.
0 Kudos
mecej4
Honored Contributor III
897 Views
Any strong dependencies on RMS record-oriented files and VAX-specific library routines can be a major obstacle to a code migration project. How large is the code base in question?

Any reason why "something else" should not be Fortran-95 or -2003?

Intel Fortran, being a nephew of Compaq/DEC Fortran, has better support for VMS than most other Fortran compilers. If you can manage to salvage/reconstruct the INCLUDE files that your old code needs, it would be of great benefit to convert those to Fortran modules and replace INCLUDE statements by corresponding USE statements and enjoy the consequent argument and type checking for cross-file subroutine/function calls. Intel Fortran can do automatic generation of interfaces to help you with this aspect of the work.

The 'conversion' that I just described will provide you with a reference "VAX" system against which you will compare the results from the new code (in Fortran 2003 or whatever language you choose).
0 Kudos
rase
New Contributor I
897 Views
Concerning other languages than Fortran: When I tell people that I still use to program in Fortran I very often get remarks such as "you can't be serious", "outdated language", "use C++/Java". When I ask "why not Fortran", I usually have to find out that such remarks come from people who never programmed in Fortran, or their last acquaintance was with Fortran 66 or 77, or they are not aware that different problem fields require different languages, or, in most cases, they are forced by their professors/employers/superiors/customers to use a "modern" language. Stick with Fortran when you have already a solution in Fortran, unless there are serious reasons not to do so.

By the way, what advice to do expect when you ask how to convert Fortran to "new languages" in a forum dedicated to Fortran?
0 Kudos
Arjen_Markus
Honored Contributor II
897 Views
Actually, you can hear that sort of noise in the context of many other languages, simply because they
are not "in vogue" this week.

Regards,

Arjen
0 Kudos
anthonyrichards
New Contributor III
897 Views
It's great isn't it, when a new 'top honcho' comes in and says 'we gotta modernise this and rewrite thousand of lines of code' to make us more efficient' not knowing that the size of the costs likely to be required could dwarf any eventual savings made by having access to loads more programmers familiar with the 'new' language.

Without giving away commercial secrets, what computations does the 'big' project carry out?
Does it have a GUI? Do you now need a GUI?

I echo those who advise not throwing out the well-developed baby with the apparently murky bathwater at which your enterprise now turns up its nose.
0 Kudos
mecej4
Honored Contributor III
897 Views
There is another aspect that bears mentioning.

A program is an expression of an idea. Thus, one needs a firm grasp of the idea, and sufficient command over a language to express that idea. If the words expressing the idea flow easily and naturally in the selected language, that language is an appropriate choice.

No programming language, however flexible and powerful it may be, however full of bells and whistles its GUI may be, can make up for a spotty understanding of the "idea": the mathematical problem and the algorithm used to solve that problem, or a defined data processing task.
0 Kudos
Reply