Someone (you?) has argued in the past that deprecation doesn't not mean they won't be supported, but as is clearly true from the NBC ticket, it means that C++ bindings won't exist for features new in MPI-3, which makes it impossible for a C++ person to use the MPI API coherently. Who is going to use C++ bindings for blocking collectives and C bindings for non-blocking collectives? Because the MPI API will no longer be consistent if only some of the functions have C++ bindings defined, the Forum should either vote to kill C++ bindings altogether or restore them in MPI-3. The state of limbo you propose will just make the MPI Forum look stupid: "hey everybody, we couldn't make up our mind so you can use real C++ bindings for these 473 functions but for the other 128, you should use Boost.MPI, our C bindings or some code you found online that was written by a Mountain Dew-addicted undergrad." Jeff On Thu, Apr 14, 2011 at 8:15 AM, Jeff Squyres <[email protected]> wrote:
On Apr 14, 2011, at 8:54 AM, Jeff Hammond wrote:
I thought the Forum decided to un-deprecate the C++ bindings, or at least had a straw vote expressing intent to do this. �If that is the case, C++ bindings should be defined for all 3.0 functionality.
I'm unaware of any such decision being made.
And to clarify: the new ticket is to make the NBC stuff consistent with everything else that is happening in MPI-3.0 (i.e., no new C++ bindings). �It's only due to a quirk of timing that the MPI-3.0 NBC text was accepted with new functions that included C++ bindings.
I come to less than half the Forum meetings, so can someone point me to the content that explains when and how the tide turned back towards MPI not treating C++ as a first-class programming language?
Your statement isn't quite fair -- MPI does nothing to disqualify C++ applications. �You can (obviously) use the C bindings in a C++ application.
And also to be specific: the C++ bindings are not being withdrawn; they are deprecated, meaning that they *might* be removed someday (not by me, and I don't know anyone who is willing to undertake the effort -- it would be a LOT of text to edit). �And no new C++ bindings will be introduced.
See https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/150 for some details about the 2.2 deprecation of the C++ bindings. �The general feelings were:
- the C++ bindings have caused *considerable* maintenance over the years (including several ill-informed / incorrect errata email votes in the late '90s) - the C++ bindings provide very little semantic difference over the C bindings - plans for the C++ bindings to be building blocks for more expressive C++ class libraries essentially failed (e.g., Boost.MPI uses the C bindings) - more expressive C++ MPI class library functionality is both out of scope of the MPI specification and is available elsewhere
-- Jeff Squyres [email protected] For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/
_______________________________________________ mpi-forum mailing list [email protected] http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi-forum
-- Jeff Hammond Argonne Leadership Computing Facility [email protected] / (630) 252-5381 http://www.linkedin.com/in/jeffhammond