I don't think we need a "binding", but rather an "architecture". The
word "binding" is like "API" in the sense that it indicates a
proscriptive definition of classes or call signatures. This doesn't
seem restrictive in a language like Fortran where you basically don't
have much choice. But in languages which support user defined types,
such as C++, it is just an unavoidable fact of life that people will
have their own classes, but need to utilize services provided in third
party libraries.
Fundamentally I do not believe the solution lies in proscribing
acceptable interfaces which application programmers must use. Rather
I believe the best route lies in library vendors learning to write
their services in an application friendly way. C++ can support
numeric applications through generic interfaces just like it supports
other more mundane CS-theoretic things in the standard library through
the use of genericity.
I have recently articulated a sizeable fraction of my views on this
matter in the article "Container-Free Numerical Algorithms in C++",
published in the May/June '98 issue of Computers in Physics. I think
it would be better for people to read that than for me to babble into
this email channel. But perhaps this would be a good place for
further discussion of the ideas presented there, plus alternative
views that others may field.
-- 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