Intellisense, Source Browsing, Refactoring, development tools

Intellisense, Source Browsing, Refactoring, development tools

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

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

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

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

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

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.

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.

I will pass along your comments to the development team.

Steve - Intel Developer Support

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

We are committed to fully implementing Fortran 2003.

Steve - Intel Developer Support

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

Gerry, would you please explain item 5 further? I don't know what you mean by "Dev C++".

Steve - Intel Developer Support

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).

It's an open source ide for the GCC

http://wxdsgn.sourceforge.net/

Gerry

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...

Steve - Intel Developer Support

Many thanks Steve - appreciate your help

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

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.

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

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.

Steve - Intel Developer Support

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.

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.

Steve - Intel Developer Support

"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."
Jonathan describes exactly how I use the Intel compiler for larger projects at the moment . Unfortunately the advanced language features are not usable with CVF, and mixed programming with C/C++ is less convenient. Please get the Source Browser and other new development tools working for IVF as soon as possible.
Greetings, Wolf

Initially, we did not have the rights to use that interface. Now we do, but Microsoft changed the implementation to something we'd have to do much more work to support. We're looking at alternatives.

Steve - Intel Developer Support

You have recently released the IVF with support for VS 2008, which we really appreciate. We do hope that your team now will have more time to implement the suggested use of intellisense etc. that has been proposed in this thread

Jeppe Grue

Quoting - jeppe.grue@vattenfall.com

You have recently released the IVF with support for VS 2008, which we really appreciate. We do hope that your team now will have more time to implement the suggested use of intellisense etc. that has been proposed in this thread

Jeppe Grue

Quoting - ISN Admin

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

I think most of the FORTRAN programmers never had a look at C++ or C#. If they had, this thread would be crowded. Have a look at the free Express edition of C# to see what's possible in modern IDEs. But don't be too hard, because most of our programs are more ancient than the FORTRAN integration into VS.

It seems that FORTRAN code outlining and some features ofIntellisense in Visual Studio 2008 are realized by Lahey FORTRAN.

See the link:
http://www.lahey.com/lf72/lf72.htm#VS

Intel, don't give up!

Kevin

Quoting - ISN Admin

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

We're familiar with Lahey's implementation - thanks.

Steve - Intel Developer Support

FYI: The same is true for PGI as well as SilverFrost, although to a varying degree.

But I think the support for F2003 must have been quite a tiring task. Add to that versions of Visual Studio and OS etc.

With compiler version 11.1's flavors slowly stabilizing, may be in near future some of the resources will free up...Am I just dreaming? :)

Abhi

Yes, sadly, you are. We have to rewrite most of our VS integration code for VS2010 and we have F2003 to finish up and F2008 features to add. Not enough cycles to do everything we would like. But some things that have been asked for for a long time are being done.

VS2010 provides new opportunities for enhancements, so who knows what we might be able to do there.

Steve - Intel Developer Support

Can anyone confirm that Photran built on top of Eclipse can do all this for Fortran & it's free? It's not a compiler but a IDE plug-in to make Eclipse syntax aware of Fortran. I hear you provide the command line to the compiler/linker via a make file but it's worth it just to use the Outline, Refactoring, and intellisense?

We're still trying to get Intel Fortran 11.1 to run with Microsoft Visual C++ 2008.

As a Plan B there is always ftoc then ctoj--convert the Fortran 77 to ANSI C then the C to java then use the Eclipse IDE. :-)

Quoting - Wayne
Can anyone confirm that Photran built on top of Eclipse can do all this for Fortran & it's free? It's not a compiler but a IDE plug-in to make Eclipse syntax aware of Fortran. I hear you provide the command line to the compiler/linker via a make file but it's worth it just to use the Outline, Refactoring, and intellisense?

Short answer: no.

Long answer:

The Photran plugin still has lots of issues, say:

* Installing on Windows is still rusty (see http://wiki.eclipse.org/PTP/photran/documentation/photran5#Additional_In...).

* The runtime is not very stable (e.g., it's quite common to get a "java.lang.NullPointerException" crash).

* The outline feature only works well under the standard scenario, otherwise you get "Syntax Error: Unexpected identifier", making the feature useless. For example, it seems to dislike preprocessing lines; if your code contains any kind of extension or new feature (e.g., a boz literal) the outline won't work ---in the past, it even disliked code that used [ ] instead of (/ /), but that seems to have been fixed in newer versions.

* The managed make feature is just a demo (i.e., not intended for heavy usage).

* The refactoring feature requires increasing the VM memory... a lot (e.g., 3 GB or so, for 5000 lines of code, just to add "implicit none" to every subroutine).

Quoting - Wayne

We're still trying to get Intel Fortran 11.1 to run with Microsoft Visual C++ 2008.

May I ask, what seems to be your problem?

Quoting - Wayne

As a Plan B there is always ftoc then ctoj--convert the Fortran 77 to ANSI C then the C to java then use the Eclipse IDE. :-)

All that in order to use an outline-, refactoring- or intellisense-like feature? I always assume that if someone is using C/C++/Fortran, then performance matters a lot, but that might not be your case. Anyway, some text editors might provide outline- and intellisense-like behavior (e.g., Geany), so you might want to take a look at those before setting Plan B into motion.

Leave a Comment

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