>
> My thinking about standards has shifted a bit lately. One of the
> things I've learned from following the C++ standards effort is
> that standardizing libraries can sometimes be the wrong thing to do.
> (Note: I think that standardizing some parts of the C++
> library is essential e.g. iostreams, strings, locales, etc.)
>
> Why?
>
> 1. Standardization kills a library's ability to evolve rapidly.
> Feature turnaround becomes very slow: if you want to add something
> to the library, you have to champion your ideas through years of
> committee meetings, and then hound vendors to implement them.
If an initial standard has a basic set of functionalities, then new
features can be added later.
>
> 2. People may become frustrated with the slow feature turnaround rate
> and implement their own extensions. The result is many versions of
> the standard, all with different sets of extensions. This has
> happened a bit with STL.
This situation probably will always exist, standard or no standard. But
having an initial standard would at at least ensure some interface
compatibility. For example, I have not used a Fortran compiler that does
not have its own extensions.
>
> 3. Experimental features must be prematurely standardized, before
> experience can produce a consensus on the "right way" to implement them.
> Example: tensors in C++. We don't have a clue how to do these right
> in C++ yet. Our first pass at them is likely to be unsatisfactory;
> we'll probably need several iterations to get them right. A standard
> would make it very difficult to iterate towards the right solution.
> Another example: valarray<T> in the ISO/ANSI C++ standard. Lots of
> people agree that isn't the right solution, even some of its designers.
> But now that it's standardized, it's going to be tough (maybe
> impossible) to chuck it out and start over again.
These should not then go into the initial standard and can be added
later.
>
> Maybe most importantly, who would implement a standard scientific
> computing C++ library? Compiler vendors? Standard library providers
> (e.g. Rogue Wave)? What would be the economic incentive for them to
> do so? Scientific computing is a very small market segment for most
> compiler vendors. And the standard library you propose would be
> very expensive to implement.
I would suggest that current and future library developers who have a need
of such a library and they may want to work together. Many libraries are
developed in the scientific community so the incentive is to have better
software and be more productive. It may be easier to get people together
and reach some agreement when the market is small (maybe) ?
>
> Maybe defacto standards are a better way to go. Look at
> how successful BLAS, LAPACK, IMSL etc. have been. They are portable,
> widely available, and offer high performance.
It would be nice if such things exist in the OO world I guess that was why
this discussion got started.
>
>
Regards,
Jonah