  Over the past two decades, C++ has been adopted as a major HPC language
(displacing C to a large extent, andFortran to some degree as well). Idiomatic
C++ is clearly how C++ is being used nowadays. But, MPIs syntax and semantics
defined and extended with C and Fortran interfaces that align with the
capabilities and limitations of C89 and Fortran-77.Unfortunately, the
language-independent specification also clearly reflects the intersection of
what these languages could syntactically and semantically manage at the outset
in 1993, rather than being truly language neutral.In this paper, we propose a
modern C++ language interface to replace the C language binding for C++
programmers with an upward-compatible architecture that leverages all the
benefits of C++11-20 for performance, productivity, and interoperability with
other popular C++ libraries and interfaces for HPC. Demand is demonstrably
strong for this second attempt at language support for C++ in MPI after the
original interface, which was added in MPI-2, then was found to lack specific
benefits over theC binding, and so was subsequently removed in MPI-3. Since C++
and its idiomatic usage have evolved since the original C++ language binding
was removed from the standard, this new effort is both timely and important for
MPI applications. Also, many C++ application programmers create their own, ad
hoc shim libraries over MPI to provide some degree of abstraction unique to
their particular project, which means many such abstraction libraries are being
devised without any specific commonality other than the demand for such.
