|
[Sponsors] |
July 6, 2006, 16:36 |
Software development environment
|
#1 |
Guest
Posts: n/a
|
Hi everybody,
I am looking for a software development environment. It can be commercial or open-source. It should have Fortran <--> C++ translator if possible. Does anyone have an idea? Thanks in advance, jojo |
|
July 7, 2006, 05:48 |
Re: Software development environment
|
#2 |
Guest
Posts: n/a
|
Why do you want to translate Fortran to C++ ?
|
|
July 7, 2006, 07:00 |
Re: Software development environment
|
#3 |
Guest
Posts: n/a
|
microsoft
|
|
July 7, 2006, 07:13 |
Re: Software development environment
|
#4 |
Guest
Posts: n/a
|
KDevelop, eclipse both support c++ and fortran, but they don't have a translation tool. I'm not sure, but I think the eclipse package itself doesn't support fortran; you'd have to download the photran package, which is an eclipse based fortran environment. Can anybody confirm this?
-Márcio |
|
July 7, 2006, 08:52 |
Re: Software development environment
|
#5 |
Guest
Posts: n/a
|
Hello,
We primarily developed in Fortran for efficiency. However, as the code is getting big and we want to share it with our partners for modular further developments, we want the code to be now C++. And eventually translate it back into Fortran for some stringent simulations. |
|
July 7, 2006, 09:13 |
Re: Software development environment
|
#6 |
Guest
Posts: n/a
|
Unfortunately, we don't have much options of Fortran environments nowadays -- it seems that every programmer around the world has changed his focus to develop new tools only for C++ and some new spot languages such as Java while Fortran has been forgotten.
For me, the best Fortran environment is the Compaq's Visual Fortran (only for Win32). I'm not sure but Compaq was sold to HP and now the Compaq IDE is kept by HP. The M$ Visual Studio + Intel Fortran compilers would be a choice only if they weren't expensive as they are -- or if you're rich enough ;o). You could also do what Marcio suggested - use Eclipse with the Photran extension in order to have a more modern and free environment. NOTE: Eclipse/Photran will give you only the environment without any compiler. Regarding the translation tool, I guess you can easily find such software googling around the Internet -- of course, if you're intending to write a C program the best option should be developing everything in C and avoid the translators use. Regards Renato. |
|
July 7, 2006, 09:27 |
Re: Software development environment
|
#7 |
Guest
Posts: n/a
|
I guess, you will not find any translator able to produce a "true" C++ code (using the OOP paradigm provided by the "++" language).
Why don't you develop your code under Fortran90 syntax? I mean that you could use the "module" statement to encapsulate your data and routines (following, __almost__, the same idea behind OOP) and providing a good documentation (you can use ROBODOc to document Fortran codes). I'm still an enthusiast of the efficiency and simplicity of the Fortran language and I can't understand when I read some C++ programmer complaining about the lack of re-usability of Fortran codes. Probably these programmers don't know about the tons of Fortran codes available on netlib. These codes have been reused for years without any OOP paradigm and showing a wonderful efficiency. I think, you only need a good environment, a version control system like CVS and a good documentation tools in order to keep the maintenance of any code in any language (it's just my opinion). Regards Renato. |
|
July 9, 2006, 02:49 |
Re: Software development environment
|
#8 |
Guest
Posts: n/a
|
please
|
|
July 9, 2006, 10:53 |
Re: Software development environment
|
#9 |
Guest
Posts: n/a
|
Dear jojo
You talk about translation C++ to FORTRAN, there is some doubt | If you use simple procedural style programming in C++ then in the approximately similar fashion you use performance about 20-40% (based on my knowledge), but C++ give you some possiblity for increasing performance (such as inline assembly, ...) that with suitable usage you can atain better performance. Also recent C++ compilers have strong optimization methods that decrease distance of C++ and FOR (for example MSVC 8.0). Else if you use OOP programming style performance leake is sever problem, but i don't think there is any general translator of OOP C++ code to FOR, unless you write it priory based on your need (it is not easy work). Alternative approach is using mix language programming, in this style the computational kernel is usually written with FOR and console and memory management is written with OOP C++ (as an example see AMR codes from CCSE: http://seesar.lbl.gov/CCSE/). About developing enviroment: if you have money i recommend Microsoft product. microsoft c++ 6 can cuple with compac fortran 6.1. But new version (version 8.0 cupled with .NET) is more strong, so its performance is better than last version of GCC and Intel C++ (based on my experience), but there is not compatible microsoft fortran software for it (Lehi has a version that can be cuple with microsoft VC 8.0). |
|
July 10, 2006, 07:25 |
Re: Software development environment
|
#10 |
Guest
Posts: n/a
|
Whatever language you choose, I don't think just a translation is a good idea. Despite the urban legends about C++ and fortran codes, you can get a very fast code written in C++, but you have to write it in C++, taking every advantage this language can give you. Otherwise, you'd better keep your fortran version and adopt some standards to ensure reusability, and follow Renato's advices. Software reusability is not a matter of what language you choose, but about the patterns you follow during the development. C++ structure may help you in this task, but automatic translations will probably just translate the syntax of your code, and then you may have a poor performance code even going from C++ to fortran.
Best regards -Márcio |
|
July 10, 2006, 08:52 |
Re: Software development environment
|
#11 |
Guest
Posts: n/a
|
In our HPC group I have been using eclipse, CDT Photran, and PTP (Parallel Tools Project) being developed by Los Alamos Laboratory and IBM. eclipse also supports CVS and Subversion with the subclipse plugin (www.tigris.org), python plugin (pydev.sourceforge.net)
The PTP is still fairly basic but provides parallel tools (MPI and OpenMP) for the eclipse environment and I believe fortran will soon be available as a separate plugin based on the existing work done in Photran and the FDT. Check out the following article "Developing Scientific Applications Using Eclipse" by Gregory R. Watson and Nathan A. DeBardeleben Los Alamos National Laboratory http://www.computer.org/portal/site/...4&file=sci.xml& |
|
July 11, 2006, 04:44 |
Re: Software development environment
|
#12 |
Guest
Posts: n/a
|
LCC is a C compiler which includes a utility f2c. This can convert Fortran77 code into C code. Try it. You may use Fortran obj files together with some header files (C style) to reuse your code compiled by Fortran. But I am not sure whether Fortran obj files can be used same as C obj files. Some computer programmer may help in this regrad.
|
|
July 14, 2006, 09:14 |
Re: SDE / Thanks to all
|
#13 |
Guest
Posts: n/a
|
Thanks for these very comprehensive comments.
jojo |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
CFX11 + Fortran compiler ? | Mohan | CFX | 20 | March 30, 2011 19:56 |
CAD integrated CFD Software | kostikr | Main CFD Forum | 3 | February 4, 2010 15:38 |
64bitrhel5 OF installation instructions | mirko | OpenFOAM Installation | 2 | August 12, 2008 19:07 |
CFD software development | Jonathan | Main CFD Forum | 2 | August 8, 2006 04:12 |
Is there somebody who interested in CFD software development? | Hua Zhou | Main CFD Forum | 1 | July 22, 1998 02:52 |