multi-dimensional c++ proposal

The multi-dimensional c++ stuff is interesting (about time!) http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2014/n3851.pdf -- -- Those who don't understand recursion are doomed to repeat it

On 27/10/14 13:14, Neal Becker wrote:
The multi-dimensional c++ stuff is interesting (about time!)
http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2014/n3851.pdf
OMG, that API is about as awful as it gets. Obviously it is written by two computer scientists who do not understand what scientific and technical computing actually needs. There is a reason why many scientists still prefer Fortran to C++, and I think this proposal shows us why. An API like that will never be suitable for implementing complex numerical alorithms. It will fail horribly because it is *not readable*. I have no doubt it will be accepted though, because the C++ standards committee tends to accept unusable things. Sturla

Sturla Molden wrote:
On 27/10/14 13:14, Neal Becker wrote:
The multi-dimensional c++ stuff is interesting (about time!)
http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2014/n3851.pdf
OMG, that API is about as awful as it gets. Obviously it is written by two computer scientists who do not understand what scientific and technical computing actually needs. There is a reason why many scientists still prefer Fortran to C++, and I think this proposal shows us why. An API like that will never be suitable for implementing complex numerical alorithms. It will fail horribly because it is *not readable*. I have no doubt it will be accepted though, because the C++ standards committee tends to accept unusable things.
Sturla
That's harsh! Do you have any specific features you dislike? Are you objecting to the syntax? -- -- Those who don't understand recursion are doomed to repeat it

Neal Becker <ndbecker2@gmail.com> wrote:
That's harsh! Do you have any specific features you dislike? Are you objecting to the syntax?
I have programmed C++ for almost 15 years. But I cannot look at the proposed code an get a mental image of what it does. It is not a specific feature, but how the code looks in general. This is e.g. not a problem with Eigen or Blitz, if you know C++ it is not particularly hard to read. Not as nice as Fortran or Cython, but ut is still not too bad. Boost multiarray suffers from not being particularly readable, however, but this proposal is even worse. I expect that scientists and engineers will not use an unreadable array API. When we write or maintain numerical algorithms we need to get a mental image of the code, because we actually spend most of the time looking at or reading the code. I agree that C++ needs multidimensional arrays in the STL, but this proposal will do more harm than good. In particular it will prevent adoption of a usable array API. And as consequence, it will fuel the problem it is trying to solve: C++ programmers will still used homebrewed multiarray classes, because there is no obvious replacement in the standard library. Sturla
participants (2)
-
Neal Becker
-
Sturla Molden