OONSTD: to early for standards? ï|¥ÿÿÿÿ

Barry Smith (bsmith@mcs.anl.gov)
Tue, 1 Jul 1997 11:29:02 -0500 (CDT)

*:> The aim of the list is to discuss these questions:
*:>
*:> * Are standard interfaces for scientific computing components in C++
*:> a good idea?
*:>
*
*: Yes. However the issues in "scientific computing" are exceedingly
*:complicated and the number of numerically oriented people who deeply
*:understand the issues in object oriented design are very limited.
*
*: Now should be a time for experimentation and learning, not for focusing
*:on premature standards. So, by all means, publish interfaces and
*:discuss approaches, but I don't see how truly useful standards can
*:be established for many years.
*
*:> * If so, can we agree on what these standard interfaces should be?
*
*: The numerical computing community is shockingly conservative. (Look
*:at how many Fortran 77 supporters there are out there :-). Plus there
*:is a strong resistence to using "libraries" rather then "rolling your
*:own code".
*
*Well, what constitutes this "numerical computing community" will affect
*how large the use of libraries in it is. There is a big group of
*people -- numerical analysts or not -- who use the LINPACK, LAPACK,
*and the SIAM libraries, even putting aside for the moment those who
*use them through devices like MATLAB.

Absolutely, I was thinking of, for example, the CFD community, where
"roll-your-own" is king. For example, most of the CFD codes developed
at NASA use very little in the way of libraries and thus have very little
code reuse.

If we want to restrict ourselves to problems where, for example, Matlab
works well there is no reason to set a new standard. Let's simple
use Matlab's standard, it is "good enough".

*: ...........I think we need a generational shift before real progress
*:can be made.
*
*In fact I believe a basic challenge is understanding the roles, means,
*purposes, and needs of those who might use standardized packages. I am
*proposing some kind of "consumer survey" for I think that the doing
*of numerical work doesn't necessarily qualify one to know what's needed
*in terms of a standard. Even if there aren't the resources to pull
*such a thing off, the effort to try may be worthwhile: One learns a lot
*trying even doing basic things like defining a sampling frame.

Very good idea. We learn things from our users everyday that we
would never have learned on our own. One thing about surveys
unfortunately I've noticed is that users don't always know what they
need unless it's presented to them.

*On that note, perhaps we should invite developers of highly successful
*numerical packages, like MATLAB, PVWAVE, SAS, SPSS, STATISTICA, etc.
*to share what they know of people's computing needs. Each of these
*packages have, over the years, tending to provide more in situ support
*for programming, and they have a stake in how standard packages
*work out.

*I'd also like to suggest that while object-oriented design using C++ as
*an exemplar is fine, the strategy of implementation ought to be
*applicable to other important standards, too. I'm thinking of Ada95,
*both because of its importance in itself and because there are
*significant communities of users who, for better or worse, need to
*solve numerical problems there. I am also sceptical that the target
*language -- as long as it supports an OO style -- matters a lot. We've
*seen, for instance, a variety of codes implementing the algorithms in
*NUMERICAL RECIPES for instance and these seemed to work fine.

Absolutely, language does not matter (we do everything in C) what
matters is the use of the basic concepts of object-oriented design
(or even beyond that, if it is of practical value).

Barry

*: Barry Smith
*
*
* Jan Theodore Galkowski,
* developer, statistician,
* Digicomp Research Corporation,

----- End of forwarded message from Jan Galkowski -----