You can say we've made zero progress only if, in fact, you pay no attention to the progress
that has been made.
VSIPL++ transparently parallelizes array and image processing operations, just about
completely hiding its use of MPI libraries underneath. It scales linearly with the number of
processors. It does this using the very powerful abstraction mechanisms that only became
widely usable in Standard C++, and are still available only in C++ and in a few researchy
languages like Haskell and OCaml.
The lesson here is that progress on fundamentally difficult problems comes not just from hard
work (and the developers of VSIPL++ implementations have certainly worked hard) but from
fundamentally powerful language mechanisms. Most problems are easy, and popular scripting
languages make it quick to deal with easy problems, but hard problems fall only to powerful
languages and people skilled in using powerful languages. (Reader should note that
"object-oriented" features were not especially helpful in solving this problem.)