Swietanowski Artur wrote:
>
> I support the above statements:
> a) speed and ease of development are much more important than high
> levels of optimization,
> b) the improvements of theoretical knowledge can lead to reduction
> of computational complexity (say, by reducing the power in
> the polynominal complexity case) whereas compiler optimization
> may just provide linear reductions.
>
> In numerical optimization / OR environment I work in a large part
> of the new software, including commercial, is already written in C
> or C++. Fortran has to reverse the trend to stay alive much longer.
> And I can tell you, switching from a fully object oriented language
> like C++ to F90 is mostly a big and unpleasant step back. For now,
> at least.
>
Sorry, but when a program is 50% slower and requires 100% more memory
with f90 compared with f77, you have some difficulties to make it
included in industrial packages.
I need only a few and simple OO features. I don't need powerful
pointer features, I don't need C++ classes... What I need is an
*efficient* and easy to write and read code.
Seismic data processing consists in the application of generally
quite simple algorithms to a *huge* amount of data. Efficiency is
a key point, and as far as I know, all industrial packages are
written in f77 (most of them) or in C (a few), the only one in f90
comes from Stanford University and is more designed for research
purposes.
I still do not understand why all features from all other langages
should be included in Fortran. Each langage has a specific domain of
applications. Scientific computing needs a langage: f77 was a good
one for that (much better than C), f90 is still a good one in my
opinion (there are still optimization problems with compilers, but
I hope this will be better and better). But please don't transform
fortran into C++, or we will have to create a new langage to
replace Fortran! If you need C++ features, then use C++ or Java
(in the same way I've always said to C fanatics to use Fortran for
scientific computing). Should Fortran also include all features
from Lisp, Prolog, or in other specific langages ?
For me, apart from a defined set of instructions, Fortran is a langage
easy to learn by people who don't know anything about computers,
and easy to optimize by compilers to produce an efficient executable.
Before adding any new feature, we should think about these two points.
Of course instructions and intructions can be added, but compiler
writters are not supermen are vendors are not enforced to optimize
everything. So what ?
I would like to be sure to that any intruction I use will be
fully optimized (if find it exhausting to always asking myself:
wouldn't it be more efficient to write this with a do loop rather than
with this new and nice compact instruction?).
In f90 I like (and use) array syntaxes, genericity, interfaces. I also
like, but use less, pointers. I like a lot parallel oriented features,
because it allows to write easy to parallelise (by compilers) code
(parallelisation is much more important for me than OO features!).
regards,
--
-----------------------------------------------------------------------
Pierre Hugonnet, PhD Student (Geophysics) |phone: 33- 5 59 83 57 94
ELF Exploration Production, PAU (FRANCE) |fax : 33- 5 59 83 48 58
Geological and Geophysical Research Div. |mailto:[log in to unmask]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|