There are many possible features, but I see these as frequently used and
leading to easier code maintenance:
1) Modules. Using modules instead of COMMON blocks is is a big win.
Modules allow more kinds of declarations, have a PRIVATE or PROTECTED
options for names, and can contain procedures, allowing for clean
encapsulation of data.
2) Allocatable objects. Dynamic memory allocation simplifies code
intended to work with many sizes of input files.
3) C interoperability. If parts of the code are in C or C++, the
ability to call back and forth with Fortran is very convenient. You
also gain access to a lot of system library code.
4) Intrinsic procedures. The list of build-in intrinsics in Fortran has
expanded a lot over the years. Taking advantage of these can replace the
need for user-written code in many cases.
5) Derived types. You can create new, composite types that better
represent the algorithm data. Helps keep related objects together and
simplifies call interfaces. Often used in conjunction with modules that
contain the type definition and routines that manipulate objects of that
type.
There are a lot of other features, like array assignments, parallel
programming, interface blocks, control over IEEE floating point, ...
that might be particularly interesting for certain programs.
Cheers,
Bill
On 4/9/13 10:34 AM, Singh, Mandeep wrote:
> Hello all,
>
> I am working in a new group now. The source code is mostly Fortran 77 and little bit of Fortran 90 (along with C++ UI and some very optimized assembly code). I am trying to encourage programmers to use the newer Fortran 95/2003/2008 and even some useful Fortran 90 features. The issue is with large amount of legacy code is working fine so there is a cost in converting older code. But, for newer code I want to encourage them to start exploring newer features.
>
> I want to use features that give biggest bang for the buck and make for easier maintainability.
>
> With some many experts on this forum, can you point me to some ppt or material on newer Fortran features. That I can run through with some lunch n learn session to wet their appetite. Then, we can dig deeper. If there any on-line classes that would be good as well.
>
> If there are any suggestions or experiences please share as well.
>
> Thank you,
>
>
> Mandeep Singh | P 1.281.477.8104 Main 1.281.890.4566
> [log in to unmask], www.coade.com
>
>
>
> CAU2013@HxGN LIVE: http://www.coade.com/CAU/HxGN/Home.shtml
> YouTube: click here | Success stories: click here
>
> -----Original Message-----
> From: Fortran 90 List [mailto:[log in to unmask]] On Behalf Of Dan Nagle
> Sent: Tuesday, April 09, 2013 10:18 AM
> To: [log in to unmask]
> Subject: Re: Extensions to Fortran-aware preprocesser
>
> Hi,
>
> On Apr 9, 2013, at 08:56 , Tobias Burnus <[log in to unmask]> wrote:
>
>> It has very little user and the only implementation seems to be Coco,
>> http://users.erols.com/dnagle/coco.html
>
> The erols site is no longer maintained. I don't know why erols keeps it around.
>
> My current site is www.daniellnagle.com and I am maintaining that one.
> The erols site is far older and may have more links, which may trick the web search engines into citing it.
>
> --
> Cheers!
>
> Dan Nagle
>
--
Bill Long [log in to unmask]
Fortran Technical Support & voice: 651-605-9024
Bioinformatics Software Development fax: 651-605-9142
Cray Inc./Cray Plaza, Suite 210/380 Jackson St./St. Paul, MN 55101
|