Intel Fortran and Eclipse (Photran) .... salt in an old wound?

Intel Fortran and Eclipse (Photran) .... salt in an old wound?

Greetings:

            I have upgraded to Eclipse Luna and am running the parallel tools plugin (which includes Photran).  This has worked out extremely well using their refactoring tools ... auto converting to "implicit none" is very sweet.

            Unfortunately I can not find anywhere on the web, any clues to getting Intel FORTRAN  introduced as a tool chain. (Even though this MUST exist because of the Linux support). I believe without the compiler being in the the tool chain, CDT/PTP cannot index files appropriately. Since there is no index, there is no editor help for code completion etc. .....I am happy rolling my Makefiles, but feeding an IDE's indexer is a requirement. 

             I have worked with this compiler through the COMPAQ-HP-Intel days.... we Windows/FORTRAN guys need some IDE love. (and please don't suggest Visual Studio again)

Regards

Carl

8 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

As I understand it, from an email exchange we have had, it's the refactoring you're really after. On Windows, Photran seems to be gfortran only and requires Cygwin. I think Visual Studio is a superior IDE, overall, but I agree that refactoring is a nice feature to have. Code::Blocks seems to be another IDE available on Windows people are using, but I don't know if it has features you're looking for.

Retired 12/31/2016

cygwin is designed intentionally to minimize porting obstacles for applications which rely on linux (e.g. Photran), while giving up much of the Windows specific features of Intel Fortran.  If you stick with standard Fortran, you may find it practical to update your application with gfortran and run with few modifications under ifort. 

If you distribute your applications professionally, you may run up against the licensing restrictions of combinations such as cygwin-photran-windows so may need such a multiple target strategy.

Let me reply in two parts:

Tim:

Cygwin is fine, I use it today. But all Cygwin is doing is providing me with a console window that "clones" Unix.  So I get to open a window, type make, and of she goes. I never link to any Cygwin libraries. I do not believe Photran relies anything specific to Cygwin. 

As far as FORTRAN itself is concerned, I am for straight ANSI F90+, with a few Intel extensions to define datatypes ( as in C strings vs FORTRAN strings). The build environment should not leave any residuals behind ... I say this because I build the link commands myself, and try to monitor dependencies.

Steve:

Mixed language applications are the norm today. Refactoring is how I get C/C++/FORTRAN to become aware of each other.  I believe you are the one who turned us onto F90+ interface blocks, where I can define a C (C++) function prototype in such a way that ifort finds function call mismatches. After refactoring, your compiler is smart enough to “understand my code”, and tell me when I am being stupid.

I need the IDE to provide this level of interface management …. Something I think eclipse might be able to do.

Let me provide a link: http://www.lrz.de/services/software/programmierung/eclipse/Eclipse_Cours...

Ms Guillen provides a reasonable description of were I  need to go .... but she unfortunately is on a Linux Box. 

If I understand your proposal you would answer MSVS. Can MSVS jump back and forth between languages in the same project? And while doing so, cross check function prototypes  between languages? Now to be fair I cannot do this in Eclipse yet, but it looks to be promising.

Thanks for your comments gentlemen.

Regards

Carl

 

Yes, MSVS can jump back and forth among multiple languages, both in editing and debugging. Fortran has the ability to describe C interfaces and can tell you when you've violated them. C, of course, acknowledges no other language but C. If you are depending on the IDE to manage cross-language interfaces, I think you'll be disappointed. I could envision a tool that might be able to handle some simplistic cases, but not in a way that would be generally usable.

Retired 12/31/2016

It is not exactly clear what OP wants, it may help to be specific:

  • perhaps he wishes to be able to specify Intel Fortran as one of the compilers for his Fortran projects in Eclipse IDE and has trouble doing so.
  • If that's indeed the case, is there any documentation/help/instructions on how to set up Eclipse with Intel Fortran?  If not, can someone put together such instructions and can Intel then add it to their documentation so all users can benefit?

As to the rest of OP's comments, I generally agree with his sentiments even though my work has me tied completely with Visual Studio and therefore, my wishes and desires are all for superlative experiences within the VS IDE:

  • Developers don't just need IDE love, they need TLC (tender loving care) of the divine kind!
  • Fortran coders shouldn't be made to feel even "second class" compared to C++/.NET/Web developers i.e., when each new version of Visual Studio IDE comes up with an ever improving experience of any kind (refactoring/integration/automated code documentation, etc.) for a C++ or .NET (Visual Basic/C#, etc.) or Web (HTML5/Javascript/CSS3) developer, then I wish several of the Fortran compiler vendors would take it as a clarion call and work toward Fortraners getting the same/similar capabilities.  Currently, the gap is too wide and Fortran coders can justifiably feel very poor compared to developers in many of the other programming languages in terms of IDE features, analysis tools, and resources that are available to them for use in the entire lifecycle of code design, development, refactoring, support, and maintenance.
  • Going from VS 2010 to 2012, and 2013 (and 2014), Microsoft has made each new version of VS so feature-rich for .NET, Web, and mobile device developers, albeit at a heavy performance penalty on but the most high-end of computers.  Fortran users get little benefit from any of these new features, even though many of them, in principle, are agnostic to programming languages.

The link provided by Carl S. to Ms. Gullen's presentation provides the following list for refactoring of Fortran code:

• Rename
• Extract Procedure
• Extract Local Variable
• Introduce IMPLICIT NONE
• Make Private Entity Public
• Encapsulate Variable
• Add ONLY to USE Statement
• Minimize ONLY List
• Make COMMON Consistent
• Move Saved Variables to COMMON
• Loop Interchange (Unchecked)
• Replace Obsolete Operators
• Change Keyword Case

I think this list would be a good place to start - how much of such refactoring is available in VS IDE?

My 2 cents,

Fair enough I was unclear in my OP..... built up frustration can do that to a man.

What I want/need are the items similar to the list above. I see Eclipse (Photran) providing those items, where as I do not see MSVS going in that direction. So I jumped to the "solution" in my OP and wanted support in making Intel FORTRAN a viable tool chain within the Eclipse framework.

As far as I am concerned, the days of using Vi/EDT ( a nod to Steve's past at DEC and the Vax 780s I used) to edit FORTRAN source a gone. I am becoming accustomed to IDEs like QtCreator who seem to know libraries better than I do. A case in point I use Google's Protocol Buffers via C in some FORTRAN code. QtCreator knows I should type "->name()" instead of ".name" when reaching into a Protocol Buffer object that I created. (No QtCreator does not understand FORTRAN but I wish it did)

Does Eclipse have the level of integration of QtCreator? No, but they do provide a level of refactoring I cannot find elsewhere.

To reference FORTRANFAN's comments, my products are pure MSVC/Intel deliverables. I use SVN/GIT for source code control and Doxygen for documentation. If you are "forced" into a MS solution because of a management decision, then I am glad for you that MS dropped their FORTRAN product ... it was not that great, though I still think I have a manual and disks for it.

I just want to use a capable tool to do the job. On a scale of 1-10, I consider my self a 7 in C/C++, and a 6 in FORTRAN, Steve's a 9.5 in FORTRAN ... I am sure there must be one person in the world who knows more. I say this because when I am given a project that I can start from scratch I choose C/C++ because the tools are stronger, and often free. I am pulling in FORTRAN only to reuse what is already in libraries. So now the C/FORTRAN interface mechanism is even more important ... thank you F2003 support.

Yes, I know the threats of FORTRAN dieing have been there for years. But for people like me who do what I consider scientific/technical computing the accessibility bar for FORTRAN has to be on par with other languages. 

If what this thread spurs on is query into what a FORTRAN developer wants/needs in an IDE, I will consider it a great day.

Regards

Carl

 

 

I would not agree that these features are necessarily MSVS/Intel deliverables. VS, like Eclipse, provides for user extensions and there are many for VS. These refactoring features seem appropriate for outside development and would be independent of the compiler vendor.

Retired 12/31/2016

Leave a Comment

Please sign in to add a comment. Not a member? Join today