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

Intellisense, Source Browsing, Refactoring, development tools

Intel_C_Intel
Employee
1,750 Views
We're well into the 21st century, so when are we going to get FORTRAN development tools which match the age?

Developing in, say, VB.NET is a real dream. Coming back to FORTRAN and you wonder what it's been up to for the last 10 years. Why aren't the development tools as mature as the language?

Intellisense: I know the usual response is that Microsoft keep this to themselves, but surely Intel are friendly enough with MS to ask for its use with the FORTRAN compiler? After all, we are using Intel FORTRAN because we started with MS FORTRAN Powerstation (via DIGITAL, HP, COMPAQ...) and it doesn't impact on MS development tools as they clearly aren't interested in FORTRAN anymore. It makes development a breeze, using structures a doddle, calling routines & getting the argument list

Source Browsing: what happened to it? It was soooo useful, especially on big projects. I now compile code on COMPAQ to use the source browser, then go back to Intel for final compiles. Crazy! Please get it into Intel soon.

Refactoring: other language development environments have support for repackaging blocks of code into a subroutine or function; can we have one for Intel FORTRAN?

code completion and templates: adding new routines by typing SUB+space and getting the template to complete the basics with default headers, marshalling of logic blocks, automatic select case blocks on enumerations, etc.

Variable renaming: why can't we safely rename a variable using the scoping rules the code uses? ie rename all related instances across the project in one go.

I could go on, but I think you all get the gist. Please add comments, point me to useful add-ins and toold for FORTRAN / Visual Studio, tell me who to badger to get some of these things into the dev environment.

Cheers
Jonathan
0 Kudos
32 Replies
abhimodak
New Contributor I
1,174 Views
Hi Jonathan

You voice what probably most of us feel, especially when it comes to telling your manager why we should get rid of other compilers and stick with (pay for) Intel...:) You can see my earlier thread on "editor outlining" in this forum.

That aside, I guess for the"time being" we have to frustratingly wait for Intel to hear us and keep doing the circus of other editors such as Notepad++ and Intel compiler. One mid-way solution would be to create Macros and add them to toolbar and short-cuts. I have been using those for common templates and would be glad to share. Another approach would be to create an add-in. (I am working on it in my spare time.)

Abhi
0 Kudos
Intel_C_Intel
Employee
1,174 Views

Hi Abhi, other FORTRAN developers,

Thanks for your reply. I was hoping the community out there would add to this post and this might help to encourage Intel to add the new features we need. Sadly, if no one says anything they may just feel justified in doing nothing / as little as possible. Sometimes you have to SHOUT a little.

Source browsing is so important it must be added, and that is really down to Intel as it is beyond macros or add-ins. The variable renaming would be tied to that as well.

We use Multi-Edit to aid development ofnew code - because it is very flexible and customisable, so we can get templates etc. However, you find yourself switching to and fro because editing existing code can still be easier in the current dev. environment - which leads to having two apps editing a single file, not good.

I like the idea of creating some macros, and thank you for your generous offer to share - we would certainly be happy to have a go with them. I wonder if Steve L & the Intel team have anything useful in that regard that they could share with the community - unsupported obviously. I read that Visual Studio 2005 & 2008 support customisable templates natively, maybe macros are not needed for templates if we move to that version of VS?

This most definitely is not a moaning thread - I want to get people enthused about FORTRAN, and the best way to do it is to make the code development as efficient as possible. So many times it seems FORTRAN is not a language of choice, rather it hangs on because of the millions of lines of legacy code out there that need servicing. I do think Intel have an excellent FORTRAN compiler, I just want to see it get better!

Cheers

Jonathan

0 Kudos
Les_Neilson
Valued Contributor II
1,174 Views

Alas editors are a religion not a science.
There are plenty of people on various newsgroups ready to elaborate on the virtues of their "OneTrueEditor" with plenty of others also ready to dismiss the same, and recommend their own..
The guy in the next cubicle to me swears by emacs, but for me life is too shortto spend time learning its idiosyncrasies. I get by with vi and the editor in VS, providing I get the line endings right. Sometimes I build from within VS and sometimes from the command line.

AFAIUI the editor in VS is a Microsoft product so it's anotherwaste of time shouting at them - if it aint .NET or whatever latest technology MS has going, then MSisn't interested (at least that's how it seems to us developers - witness the supposed improvements from VS6->VS2003->VS2005 with various backwards steps in usability! We will let the next department find the problems with VS2008 before we take the plunge with VS2008 SP1)

But if Intel want to provide tools to help better development in VS then I for one wouldn't complain. :-)

Les

0 Kudos
Intel_C_Intel
Employee
1,174 Views

Ah yes, I have read the Wiki entry for vi versus Emacs... (http://en.wikipedia.org/wiki/Editor_war) but I have no opinion on that.

What we really need is an editor so integrated with the project that it knows the same rules as the compiler. For example, whenyou rename a function in VB.NETapparently a tooltip prompts you to rename all calls to the function. This isnot a simple text search and replace - it understands the scope of variables etc so it can safely rename only those calls affected. Or searches on all uses of a variable, function etc, again using scoping rules not just text search.

There are many other examples where the integration of the editor could be more powerful than simply text editing, syntax highlighting and templates.

If anyone reading this hasn't seen the power this gives developers, then try downloading the VB.NET express edition for free and have a play. Alternatively, I hear Eclipse is very good but I've never seen it.

0 Kudos
Jeppe_G_
Beginner
1,174 Views

I fully agree to encourage Intel to implement Intellisense, Refactoring and all the other tools that are available in modern languages. We use both MS C# and Intel Fortran, and there is a tremendous difference writing code in the two languages.

Intel I really like to encourage you to listen to this thread, and recognize that Fortran has to be more up-to-date on the development tools.

0 Kudos
Steven_L_Intel1
Employee
1,174 Views
I will pass along your comments to the development team.
0 Kudos
jeanvezina
Beginner
1,174 Views

And also fully implementing the Fortran 2003 standard is now overdue! I agree that thisa lot of work, but this is required if we want Intel Fortran to be a modern development tool.

Best regards,

Jean Vezina

0 Kudos
Steven_L_Intel1
Employee
1,174 Views
We are committed to fully implementing Fortran 2003.
0 Kudos
g_f_thomas
Beginner
1,174 Views

Here are a few more items for the wish list:

1. PGO from the Build menu or on right click of a project in Solution Explorer as with VC++

2. Links to forum url's from Intel Help integrated into VS IDE as with .

3. Cross reference mapping.

4. IVF Windows apps that provide containment for VS managed assemblies and OCXs.

5.IVF integration into Dev C++ IDE just like VC++ 2005

Gerry

0 Kudos
Steven_L_Intel1
Employee
1,174 Views
Gerry, would you please explain item 5 further? I don't know what you mean by "Dev C++".
0 Kudos
garylscott1
Beginner
1,174 Views
It's so fun to watch these types of threads...in comp.lang.fortran, there seems to be a bias in the other direction. Everybody wants to use command line tools and make (development environment, bah humbug).
0 Kudos
g_f_thomas
Beginner
1,174 Views

It's an open source ide for the GCC

http://wxdsgn.sourceforge.net/

Gerry

0 Kudos
Steven_L_Intel1
Employee
1,174 Views
Thanks. I really, seriously doubt we would do anything with Dev C++, especially as we do not support mixing with gcc on Windows. We've been cooperating with the Photran project (Fortran development tool for the open-source Eclipse IDE) though even Photran's developers themselves would tell you that it is not yet "production quality". Still, you should check it out and maybe give them a hand.

That said, we have seen almost no demand on Windows for any IDE other than Visual Studio. On Linux, IDEs for Fortran seem to be a curse word, unless IDE is spelled "emacs". On Mac, there's Xcode, which we do support.

Right now, our IDE developers have their hands full making IVF work with VS2008. As Microsoft separates the "Visual Studio Shell" from C++, more things may be possible in the future. It's not clear to me how many of the C++/C# editor features would map well onto Fortran, but some of them certainly would. If Microsoft would stop changing internal interfaces so frequently, maybe we'd be able to free up resources to add new features...
0 Kudos
fortrandevelopers
1,174 Views
Many thanks Steve - appreciate your help
0 Kudos
g_f_thomas
Beginner
1,174 Views

I installed Eclipse/Photran (sic Phortran) and tried the old reliable 'Hello World' project from c++ only to get:

**** Build of configuration Debug for projectHW ****

**** Internal Builder is used for build ****

**** WARNING: The "Debug" Configuration may not build ****

**** because it uses the "MinGW GCC" ****

**** tool-chain that is unsupported on this system. ****

**** Attempting to build... ****

Nothing to build for WH

Dyed in the wool Windows loyalists draw the line at mingw, don't do cygwin, and eat quiche whenever they want to.

There are two Intel plug-ins: Compiler Core Support and Fortran Managed Build Definitions which I've yet to investigate as I can't find any documentation in the distro. Photran appears to be an interesting app worth looking at. Thanks for bringing to my notice.

Gerry

0 Kudos
John4
Valued Contributor I
1,174 Views
I tried (in vain) to use Photran a few months ago; here are some comments, in case someone is willing to try:

*It didn't work with MinGW (there seems to be a problem with the version of Make included in MinGW); MSYS and MSYSDTK should be installed instead.
*The full version of Photran didn't seem to be able to find gfortran (I double-checked the environment variables), so it's much better to install the full version of Eclipse and then adding the photran feature (i.e., the plugin).
*Although IVF is shown in the list of options, it didn't work for me (eclipse must be launched from prompt, after setting the environment for IVF).
*The tags parser will not work if the source code uses [ ] instead of (/ /), and doesn't seem to be able to handle derived types properly.


Although source browsing was great under DVF/CVF, the fact that might translate to Intellisense under VS2005, is sort of a problem. I mean, Intellisense works just fine for VB.NET, but it's a nightmare if you use C++ (i.e., it tries to rebuild the whole database after every change, so if your solution has multiple projects referencing lots of headers, it's going to be a lot of database rebuilds).

One advantage of the Visual Studio over eclipse is that (after renaming feacp.dll to disable Intellisense), its memory requirements are quite reasonable ---my computer has enough memory, but it doesn't seem right that eclipse requires about 150 MB just to open an empty environment.


John.
0 Kudos
g_f_thomas
Beginner
1,174 Views

Thanks John. You've corroborated my assessmentof Eclipse/Photran which is in contrast to my experience with wxDev-C++. The latter plays well withMinGW and its make, and it's trivial to have itwork withgfortran. Its editor, however, doesn't color code or code complete Fortran. I haven't tried to "integrate" IVF with the IDE (which in ways is a minimalist replicaof VS) but if it can be done with VC++ 2005 I don't see why not. IMO, Photran has a slicker UI and more ergonomic online help than either VS or wxDev-C++ (which BTWis written in Delphi for C++ development!). wxDev-C++ has support for wxWidgets-based UI development but the code is even uglier than MFC. For fearless open sourcers I would imagine that wxDev-C++ would be easier to change than Eclipse/Photran which appears to bea convoluted hodge podge of java and c/c++ and a lot more besides.

Gerry

0 Kudos
Steven_L_Intel1
Employee
1,174 Views
Source Browser and Intellisense are completely independent. Intellisense requires a "real-time" parser which is continuously reparsing the source looking to see what you've typed so far. Source Browser works on a database that is built by the compiler and linker.
0 Kudos
John4
Valued Contributor I
1,174 Views
I said that Source Browsing "might" translate to Intellisense, because I wasn't sure. As I remember from CVF, Source Browsing was a compiler thing that had to be enabled for the project rather than for the IDE ---but, since Microsoft is prone to building "All-in-one" features and reinventing the wheel every now an then, I thought that maybe they had decided to merge Source Browsing with Intellisense. If it works the same way as it did in CVF, then it will be great.

And regarding Intellisense: if its performance is somehow related to the syntax of the particular language, then it might not be as bad when used in Fortran as compared to C++.


John.
0 Kudos
Steven_L_Intel1
Employee
1,078 Views
I just now learned that John is right - Source Browsing is now tied in with Intellisense. That makes it MUCH harder for us to work with. Sigh.
0 Kudos
Reply