April 5, 2017

C++ is one of the most popular programming languages available today. Its reputation to be a "language for experts" is somewhat deserved, but its power and flexibility make it the language of choice for many applications where performance, modularity and dependability are essential. Many industries rely on C++ and this is why it is standardized by ISO, the International Standards Organization. New versions of the standards are continuously produced to keep the language up-to-date as technology and applications develop in new directions.

The standards committee is formed by hundred of individuals from many countries and companies, representing C++ users, compiler providers and hardware vendors. Among the users, a growing group from the scientific and high-performance computing communities is actively working for representing the needs of super-computing centers and their users around the world.

In this context, Mauro Bianco is the representative of CSCS, and part of the Swiss National Body, in the Standards Committee for C++. When attending the week-long meetings he usually participates to the parallelism and concurrency discussions, which are natural topics for HPC users, but he is also contributing to the standard library proposals, for instance for adding support for multi-dimensional arrays in C++. Here he is telling us a little bit more about this:

“More than 200 people contributing in 1500 pages of detailed specifications: the “C++ Standards Committee”. People from big or small companies, self-employed, retired professionals with a plenty of experience, young fellows with impressive skills. People working on hardware, compilers, libraries, applications, education. All trying to help different communities of users of the C++ language. Everyone with an objective, everyone in good faith. But the objectives are often conflicting and compromises are therefore necessary. Infinite discussions on the smallest detail, tension, sometimes open anger, personality clashes, temporary alliances, but also respect and friendship.

During the week-long meetings a seemingly chaotic process takes place, under the intricate regulations of the International Standards Organization. From the evaluation of new ideas, whether interesting or odd, to deciding if a comma is better than a semicolon in a certain row of a certain paragraph of the draft version.

In the picture you can see a plenary session in Kona, Hawaii (the arrow indicates where I am sitting), while noisy fans try to tame the implacable tropical humidity.

The saying that politics is an unavoidable consequence of human interaction is totally confirmed by the C++ Standards Committee. And it works! Frustrating at times, sometimes confusing (I’m still a newbie in a sense), but rewarding: C++ is one of the most successful programming languages of today. I’m there trying to serve the HPC community as best as I can, along with other HPC people in the Committee.”