Re: OONSTD: Abstract Data Types

Geoffrey M. Furnish (furnish@xdiv.lanl.gov)
Thu, 9 Jul 1998 04:04:01 GMT

Brian Glendenning writes:
> I think it would be very useful to standardize arrays at least to
> the F90 array level. It seems to me that arrays are the fundamental
> "atoms" of scientific computing. It is important for the same
> reason that a standard string type is important - it lets
> application writers or library implementors use independently
> developed code without always having to devolve down to a double*,
> or write lots of code to interconvert between array types. Until we
> have standard array types I think we will only see limited code
> reuse amongst scientific packages.

I think we will not see significant reuse amongst scientific packages
until library authors learn to write code that is independent of the
application programmer's container types.

> Having said this, I also agree that now is not the time to
> standardize array classes. We should either wait for a de facto
> (or de jure - maybe valarray will be more useful than people now
> expect) standard to emerge, or at least wait and see how
> template-expression based implementations are working out in
> practice.

I do not believe there will ever be a useful "standard numeric
container", "standard array class", etc. I think we as a community
should quit biding our time on this issue, and just learn to write
code that is generic with respect to the numeric container type, in
the same way that the STL is generic with respect to the data
structures that its algorithms operate on.

The STL covers a different domain than numeric algorithms, but its
library design techniques are accessible, extensible, exemplary, and
replicable. We should start doing it.

-- 
Geoffrey Furnish                    email: furnish@lanl.gov
LANL XTM Radiation Transport/POOMA  phone: 505-665-4529     fax: 505-665-5538

"Software complexity is an artifact of implementation." -Dan Quinlan