Boost logo

Boost :

From: Jeff Garland (azswdude_at_[hidden])
Date: 2023-02-17 18:11:18


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 <vinnie.falco_at_[hidden]> wrote:

> On Fri, Feb 17, 2023 at 8:17 AM Jeff Garland <azswdude_at_[hidden]> 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.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk