Right. I'm going to skip over most of it because we'll never agree...
On Fri, Feb 17, 2023 at 9:49 AM Vinnie Falco
On Fri, Feb 17, 2023 at 8:17 AM Jeff Garland
wrote: Well it isn't for those users stuck on c++11. There are users for which the new facilities are quite beneficial.
There is no question that new C++ features can be beneficial. But the nature of the bureaucracy is that it too steeply discounts the value of doing nothing.
C++23 will blow your mind then -- no significant language features were added.
Every new feature comes with an opportunity cost and the nature of the committee is that the authors of successful papers reap the benefits, while everyone else pays the costs.
There is no significant benefit to reap and there's no cost to users that ignore the feature.
Regardless of how "difficult" the fixes are, a key objective of new C++ standards is to not break existing programs.
That's your view and it's one objective, not the be all end-all for many of us. I could care less about c++17 compatibility, personally. But I understand why some care. Some have walked away from the committee because they think we need to break more to improve performance, etc.
...it is a problem for any large organization... All this applies to Boost just as well as WG21.
Well, no it doesn't. Boost is not a large organization, it has no bureaucracy, it has no voting, and it has no papers. It is actually a federation of independent libraries where each library is governed by a dictator whose interests are aligned with the users of the library. This setup ("social technology") is pretty darn effective. Collective progress is achieved by people willing to do things; the person proposing a solution is also the one incurring its cost of implementation. Thus economic incentives are aligned.
I'm well aware of how Boost works. There are good things and bad with it. Deprecating c++ 98 is an example of how the collective doesn't function -- it should have been done years ago in the opinion of many of us.
Boost should not follow. Instead, we should lead. As a member of Boost since the early 2000's I couldn't agree more. I don't think we are doing that currently, sorry.
Yes I think you are right about this.
Good, that's a start because I'm actually pretty sure we agree on more than we disagree.
When a successful organization loses its founders without solving the "succession problem"
...
Boost's founders stepped back (for the known reasons) the innovation slowed, and WG21 was seen as the preferred vehicle for achieving progress.
I'll take that as a personal jab :) Sure, I've stepped back from many kinds of participation here as have others. Largely to promote the Boost mission at WG21. However, Dimov, Maddock, there's still plenty of 'old guard' here.
And continuing support for ancient revisions of the standard isn't a way to lead to the future.
"continuing support for ancient revisions" is a strawman. There is an enormous quantitative difference in the cost of supporting C++03 versus the cost of supporting C++11. To be specific, we gain a lot from dropping C++03. We gain very little from dropping C++11: all we get is removing a few configurations from Continuous Integration. Not worth it.
Call it what you want, it's backward looking not forward looking. For me the missing part of the analysis is how many developers care about c++11 *only* at this point. gcc 11 which is a couple years old defaults to c++17. Survey's indicate that most developers are already on 14 or above. In 3 years I suspect it will be a tiny tiny fraction of the community.
I don't want to get into a big debate about this, it's not worth our time.
It is definitely worth my time, because the focus of 100% of my professional work output is to improve Boost. It is to lead by example, and refresh the foundations of Boost by performing the roles of the missing founders.
And let me say thanks at this point. I'd like to see Boost regain where it was, but I doubt it will ever happen despite all your efforts.
Instead of pointlessly breaking existing users every 3 years I am doing this:
* preparing a transition from boostbook to Asciidoc (boostbook is at end-of-life) * creating new Asciidoc style sheets to make our docs look good * helping build hdoc to replace our use of Doxygen (https://hdoc.io/)
hdoc requires a commercial license for commercial users many enterprises will no longer be able to build without paying. In my 2 minute review it also doesn't support /** style doc comments which seems like a regression. I'm all for modern docs, but less clear to me this is the path.
* preparing a new website to replace the existing Boost website * preparing "Powered By Boost" - a server that runs on Boost technology - deployed publicly - pages demonstrating Beast, MySQL, Redis - using Describe, Mustache (even though it is not in Boost yet) - open source - example code for doing things people want to do * promoting Boost on Twitter * continuing to deliver value for users with Boost libraries like JSON, URL - and the upcoming Buffers, Http.Proto, and Http.Io * sponsoring talks for CppCon and videos for the upcoming "Boost Recipes" youtube channel
All great stuff. Also some of this is irrelevant to c++11 users since many of those libraries require higher versions for good reason: Aedis (c++17) and Describe (C++14) for example. I retract my suggestion. Instead let's litigate deprecation on an ongoing basis instead.