The work of WG21/SG15 - Tooling

cpp

The C++ standardization committee has many working groups; one of them is SG15, the study group for tooling. It is a relatively new group. Here is a summary of what it is about (afaik).

History

Historically speaking, tooling was never a topic for the standardization committee. The C++ standard is an ISO document.

Compiler writers can implement a standard and claim to be 'standard conform'. But it was, and still is, all about C++ as a language and the standard library.
Tools were never a big topic, not even a linker (platform specific implementation detail) or something like a build system. For the standard, those things simply did not exist.

In recent years, with additional challenges like security concerns and the call to use memory-safe languages, it has become at least recognized that tooling is a topic.

This is good, since the C++ developer community also sees this as top important topic. I wrote about that in my post about the pain points in C++ development a while ago.

What is SG15?

SG15 is a group of volunteers who believe that tooling is important and dedicate their time to working on this topic. Some people overlap with their work, which is nice. Some do not and spend their free time on this topic only.

There are standing online meetings. For now, the schedule is every last Friday of the month. And there is concrete work going on.
The most active topic is CPS, the Common Package Specification, which could be an essential step toward better dependency management in C++.

Additionally, there are several discussion forums:

  • The usual SG dedicated mailing list for WG21 SGs.You need to be a member of the committee to participate.

  • An open mailing list. Not very active but a way to stay up to date about dates for the monthly meetings. Link.

  • The #ecosysetm-evolution channel on the cpplang.slack.
    If you are not already in the slack, here a link to invite yourself here

My interest in SG15

As for all topics in the standardization committee, I am interested from the user point of view. I do not claim to be a language expert, nor do I claim to be a tooling expert.

The tooling group is the one I am most interested in. I try to participate in the meetings and contribute to the discussions to some extend. But due to my limited time, I am not able to contribute as much as I would like to.

Currently available P-papers

Here is a list of currently, as of writing this post, available papers.

The format is: Link to the paper, title, authors, and the groups the paper is tagged with.
As you can see, many papers tag not only SG15, but also other groups.

Please note that some papers date back to earlier years as listed, but here are the latest revisions.

Conclusion

This was just a first quick overview of SG15 and the work that is going on there. I hope to find the time to write more about this topic in the future.

There is quite a lot of work. However, despite the importance of the topic, the group is understaffed. This is strange, given the fact that tooling is one of the most important topics and pain points for C++ developers. Obviously it is more attractive to discuss language features than to work on tooling.
Anyhow

Special thanks to all the active members of SG15 who contribute to the work. I will not list them since I might forget someone. You all do an awesome and important job!

If you are interested in SG15, the tooling group, feel free to join the discussions via the links provided. The more people, the better the results!