|
****JavaScript based drop down DHTML menu generated by NavStudio. (OpenCube Inc. - http://www.opencube.com)****
| Search |
|||||||||||||
TestimonialsFortran for .NET Joins the ArmyThe US Army Corps of Engineers, Engineer Research and Development Center (USACE-ERDC), Airfields & Pavements Branch (APB) has incorporated over 50 years of pavements research into an integrated software suite for the structural design and evaluation of road and airfield pavements. The software package is the result of a successful effort between research civil engineers and computer scientists. The most recent version of this product was written using Visual Basic 6.0 for the graphical user interface and Fortran 77 legacy code for the computational routines. The product was delivered in January of 2003 to a tri-service committee consisting of pavements engineers from the US Army, Air Force, and Navy. We're now working on the next version. Following the selection of Visual Studio.NET as the development platform for the next version, the team began investigating options for the legacy Fortran code that had been passed down, updated, and modified over the last 30 years. There are over 15,000 lines of Fortran code that produce a range of required engineering solutions. It was not considered cost effective to re-write that code. By reviewing articles in magazines, information at Microsoft’s web site, and sessions at the VBITS conference, it became clear where the future was headed: .NET. Four features were of particular interest: 1) an end to "DLL hell," 2) true object-oriented programming, 3) zero-touch software deployment, and 4) cross-language usage of objects and code modules (without wrappers). We used the beta version of Visual Basic.NET to re-write a couple of small modules that were originally written in VB6. Several of the sample projects that demonstrated features of interest were evaluated. The .NET Framework exposed methods and properties previously available only to Visual C++ programmers (unless you liked playing around in the Win32 API). .NET was found to have a lot of functionality available in just a few lines of code. The big test was accessing the Fortran code from VB.NET. The complexity of existing Fortran structures (structures within structures and arrays of structures) caused a significant problem – passing the data to the Fortran code was no longer simple. The only solution found was to write the structure to a byte array and then use the System.Runtime.InteropServices to pass a pointer to the byte array to the legacy code. At this point, it became clear that we needed a .NET version of Fortran. After exploring websites, industry news, and a visit to the Lahey booth at the 2002 VSLive conference, we decided to test Lahey's beta release of LF Fortran for .NET. We tested from two different perspectives. The first was a Fortran programmer with a thorough knowledge of Fortran, but no knowledge of objects. The second was a Visual Basic programmer with a good knowledge of objects, but little understanding of Fortran. The experienced Fortran programmer was able to quickly grasp the concept of objects and classes and the way it was implemented in LF Fortran for .NET. In less than two days he was successfully creating classes, adding properties, and overloading constructors. His only concern was execution speed. The Visual Basic programmer took the opposite approach and delved into the .NET Framework. Creating objects and placing them in collections and working with other operations were easy to learn. Learning to use ALLOCATE and the pointer attributes took a little time and effort. Some initial tech support was necessary to use System.IO. All said and done, the Lahey Fortran for .NET compiler was thoroughly tested. Features that did not work were reported and many are being corrected. We found that with .NET there is a trade-off between speed and language and skill set compatibility. LF Fortran for .NET allows programmers to use Fortran in a method consistent with the skills that exist in programmers using object-oriented languages. Fortran for .NET offers users access to the .NET Framework objects, access to a visual interface that is easy to use, integration of Fortran code and objects with other .NET language code and objects, and an incentive to initiate the update of legacy Fortran 77 code. So, we decided on LF Fortran for .NET and development has begun. The Fortran code is being modified such that it can be compiled as a Win32 DLL or as a class library. We created an "engineering" class that accepts our objects as parameters to its methods. They are then translated to Win32 types and the updated code is compiled as a .NET library. We changed COMMON statements in order to use data blocks. Using LF Fortran for .NET was the right decision. This new Fortran may even help alleviate the attitude that Fortran is prehistoric. Contributed by John T. Lott, Computer Scientist, Southern Division, Applied Research Associates, Vicksburg, MS 39180-5160 Carlos R. Gonzalez, Research Civil Engineer, Geotechnical and Structures Laboratory, U.S. Army Research and Development Center, Vicksburg, MS 39180-6199 Robert S. Walker, Computer Scientist, Geotechnical and Structures Laboratory, U.S. Army Research and Development Center, Vicksburg, MS 39180-6199 |
...thus far I must say that this product [LF Fortran for .NET] is exactly what I was looking for. We have a lot of old Fortran code for Physics simulations that now I can go ahead and apply real software engineering practices to and develop a usable GUI and expand on the original work that was done.
Contributed by
Robert A. Wlodarczyk, Ph.D. Student, SUNY Stony Brook
I'm a one person shop with a bunch of Fortran 77 things that I wrote when I was young, for the market research work that I do. I have an old competitive compiler; never really upgraded because there was no compelling reason to. But now.. boy.. you guys gave me one hell of reason to upgrade! Fortran on the .NET Framework, now that is some real Power for you! I have so many new creative options open to me with my "old" familiar code that I feel like a kid again, ready to go and tackle the world one more time!
Contributed by
John Capelli, Independent Software Developer
| For more information on LF Fortran v7.1, please visit the following links: | ||
|
LF v7.1 General
|
.NET Fortran language system
|
Fortran 95 (Win32) language system
.NET whitepaper | Trial download | Testimonials | On-line help | Press release | Purchase |