[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Uninclude perl script
I would like to take issue with Matt Newville's comment:
> Traditionally, there's been a very strange notion of adhering to
> 'The F77 Standard', with John claiming to want to be fully portable
> while ignoring the standard right and left. Include files and
> end-of-line '!' comments are nonstandard. There is not a standard
> solution to having them. No, not even a fortran program like
Zabinsky took great care to keep the non-standard extensions in FEFF
to a tolerable minimum: e.g., from the FEFF6 doc: "FEFF is written in ANSI FORTRAN 77,
with the non-standard extension of double precision complex (complex*16) variables."
Thus, the distributed code never had include files, nor end of line comments;
they were allowed only for development purposes. I have tried to insist on keeping
Steve's standards in subsequent developments of the code, and they have served
us well.
In my view portability concerns override strict adherence to the "standard," so
as compilers improve past restrictions can be eliminated. Only a year or so ago,
we did release an experimental beta-version of feff8x with the include file dim.h,
and quickly got complaints from a few users with compilers that didn't tolerate it.
There is also a great temptation to use architecture specific utilities, but in my view
this should be discouraged in view of the extra effort required to debug eventual problems.
Thus I think it's preferable for everyone to work with the same set of codes.
FEFF is used literally by many hundreds of researchers on all kinds of platforms, so
non-portable components will sooner or later be uncovered, leading to extra work. We all
know how annoying it is to try to run someone elses codes a new machine or with a new compiler
and get nothing but error messages.
In future developments of the code and derivatives (e.g., for components of a solid
state toolkit) these portability concerns will continue to be important. Thus as a goal,
I think it is desirable to be able to have build and compile Makefiles that are portable,
John Rehr