Boost logo

Boost :

From: Arno Schoedl (schoedl_at_[hidden])
Date: 2024-05-10 02:13:34


I am watching this discussion from the sidelines, and I am little involved in the standardization. But I think judging from the outside, Vinnie has a point. Some recent additions to the standard made questionable design choices, which if a library had been implemented and widely used prior to standardization like in Boost, design choices may have been made differently.

Some examples:

- The distinction between views and containers is academic, and after standardizing ranges, the distinction had to be watered down to make ranges practical.
- std::format is a parallel development to ranges, outputting into a sink instead of being itself conceptually a range of characters.
- The distinction between weak and strong ordering is academic, I never found a good use case in our code where making the distinction would be beneficial.
- Both are not an enum, and not being able to switch over them is a pain.

I am all for implementing and trying things out first before we commit to a design. Boost was a very good staging area for that.

Arno


--
Dr. Arno Schödl
CTO

We are looking for C++ Developers: https://www.think-cell.com/career/dev


think-cell Software GmbH (https://www.think-cell.com)
Leipziger Str. 51, 10117 Berlin, Germany
Main phone +49 30 6664731-0 | US toll-free +1 800 891 8091

Amtsgericht Berlin-Charlottenburg HRB 180042
Directors: Alexander von Fritsch, Christoph Hobo

Please refer to our privacy policy (https://www.think-cell.com/privacy) on how we protect your personal data. schoedl_at_[hidden] | +49 30 6664731-0> On 10. May 2024, at 00:25, Vinnie Falco via Boost <boost_at_[hidden]> wrote:
>
> On Thu, May 9, 2024 at 3:07 PM Vinnie Falco <vinnie.falco_at_[hidden]> wrote:
>
>> ...
>>
>
> I pressed send by accident... continuing...
>
> When people vote on proposals, it is based on the honor system whether or
> not they have read the paper, if they are qualified, if they are
> knowledgeable about the domain, and if they are voting in good faith. WG21
> has to simply trust that someone who votes yes is not doing so because the
> author voted yes or will vote yes to their own paper. WG21 has to simply
> trust that when someone votes no, they are doing so because they believe it
> is the best technical decision and not because they simply don't like the
> author's politics. Or criminal record. Or because they or their company
> intends to introduce a new competing paper in the future.
>
> WG21 leaves questions of conflicts of interest, political horse trading,
> non-technical voting up to the honor system. No one who votes is vetted for
> their talent, industry experience, and so on. Peter Dimov, probably the
> smartest guy on the planet, had his metaprogramming library turned away by
> people with far less talent. The consequence is we do not have Peter's
> library, but instead the promise of a better metaprogramming standard
> library component that has yet to be written.
>
> I do not have this luxury when I write libraries. I can't go up to say, a
> large corporation, and convince them that I'm a really great guy who should
> just be trusted. People have to opt-in to my library, unlike the standard
> where after a relatively small group of people vote, all vendors who
> produce standard libraries are compelled to add it. And every C++ user who
> uses that standard library now has that pushed on them. No one "forces" you
> to use standard library components. But the appearance of a feature or
> particular API in the standard library creates enormous resistance to
> alternatives, because there is value in having a normalized API which is
> bundled with the compiler.
>
> :LEWG is now notorious for having people write "direct-to-standard"
> proposals. That is, people find it far easier to just write a paper and
> socially engineer their way through WG21's tyranny of democracy than to
> invest the blood, sweat, and tears of writing a popular library. It has
> literally been said "going through Boost is more work than going through
> LEWG." In other words the bar for technical excellence in LEWG is lower
> than it is for Boost. I, for one, am glad that I am not someone who "have
> [sic] attended rather more of its meetings than the two people who make
> just slightly questionable claims about what WG21's library standardization
> process is fit for" because if I was, then I would be responsible for that
> lowering of the bar.
>
> As I believe that complaining without offering solutions is equivalent to
> "whining" I propose a simple solution. Eliminate LEWG, have library-only
> components go straight to LWG like how it used to be, ensure a process
> where people voting on papers are actual subject matter experts and not
> patsies or confederates, and require that these library-only components
> already have some level of adoption and represent the state of the art.
> Note that under this scheme, we would already have the Networking TS in the
> standard. And the standard library would be able to connect to the Internet.
>
> Thanks
>
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost


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