On Mon, Apr 2, 2018 at 2:08 PM, Titus Winters <titus@google.com> wrote:
At the recent evening session in Jacksonville, many many things were brought up in the realm of "tooling." These ranged all across the spectrum of engineering tools, from IDE support, dependency management / discovery, distribution, refactoring, and a host of other things.  

On the fly, I tried to cobble those into a coherent goal for SG15 and the committee to aim toward.  It's currently phrased very much for the committee audience

Which I think is our main mistake. We have to stop thinking in terms of the committee being the audience. When the real audience is are general, i.e. not dedicated well informed, C++ users. 
(that's been part of my delay in re-summarizing here), but as with any good mission statement I think it gets direction and incentive structures aligned with the greater good.  Put another way: it's phrased selfishly, but hopefully produces great results for the entire community.

So, here is that proposed mission statement:

In 10 years, the committee should be able to run compiler-informed queries against a significant fraction of the open-source C++ community and use that to inform deployment of refactoring tools to mitigate.
  • Consistent build understanding
  • Consistent package distribution / identification
  • Provide static analysis and refactoring to help provide users easy upgrades and modernization

Obviously this would be a huge task that requires support from many chunks of the community - WG21 cannot be solely responsible, and it's outside of what WG21 is normally great at.  But we can help set direction, plan, prioritize, and lend support to ideas that emerge along these lines.

So, I'd like to hear from everyone a bit: is this a good direction?

I can't actually tell. As I don't see real concrete targets from user perspectives.  But I suspect not.
Does it capture what we'd like?

AFAICT, no. 
Can we phrase it less selfishly? 


In 10 years, the committee should deliver to the C++ user community specifications that tool vendors can use to produce a cohesive tool and library ecosystem for the entire C++ community.
* Common reproducible and interchangeable building of C++ products.
* Common interoperable package specifications.

I can't speak for refactoring and related tooling as that's not an area I concentrate in. Other than getting paid to fix other people's code that is :-)

-- Rene Rivera
-- Grafik - Don't Assume Anything
-- Robot Dreams - http://robot-dreams.net