
on Sat Jun 05 2010, "Belcourt, Kenneth" <kbelco-AT-sandia.gov> wrote:
Hi Ross,
On Jun 3, 2010, at 5:29 PM, Bartlett, Roscoe A wrote:
Take my comments with a grain of salt as I'm biased having interacted with both you and Trililnos for the last decade or so.
In other words, unlike me, you know what you're talking about :-)
I will argue below that more C++ programs are better served by using more of #2 object-oriented C++ and to a lesser extent template-based methods in #3 and #4 (except where it is called for in lower-level code).
Someone, I think David, asked for a concrete example. A well known example is matrices and, for exposition, the additive schwarz algorithm described in Saad's Iterative Methods for Sparse Linear Systems, page 401, section 13.3.3, available here:
This is to say nothing of the fact that OO is incapable of representing even the simplest binary mathematical operations polymorphically without losing type safety (http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.8837). OO has its place, but the binary method problem is such a huge obstacle for the design of mathematical frameworks that I'm very surprised to hear arguments that OO serves most C++ programs best coming from someone in the HPC community. P.S. what's the frequency, Kenneth? Does Noel have a brother at Sandia or…? -- Dave Abrahams BoostPro Computing http://boostpro.com