On Mon, Oct 9, 2023 at 9:50 AM Vinnie Falco
On Sun, Oct 8, 2023 at 6:27 PM Klemens Morgenstern
wrote: ...I obviously think my library is great and will attract users, especially younger ones that do not love callbacks as much as you.
Okay, that's fair. So in which places where callbacks are currently used, does this library offer the alternative?
All of them.
Thanks
But you can be very sure, that I am absolutely confident that this library would get users without being in boost and I would urge you not to assume these kinds of motives.
Why not get them then? Have you reached out to any of the forks? Do you have a channel where people outside the Boost community came to visit while you worked on the lib? Did you announce the development of the lib on Reddit so people could follow and weigh in? Did you find other projects that might benefit from using your library, and offer them a pull request where you integrate your library as an example to show them how it can be improved with your library? In other words was any there any effort placed into Boost.Klemens.Async other than the bare minimum of what is required to write a library which is to just sit down and over a continuous or intermittent period and simply write it unassisted and without input, and then submit it for a review?
Where do you get the unassisted from?
And let me ask you this, now that I have taken the time to elaborate in sufficient detail additional methodologies and markers of success which may be applied to library development, what do you think should be done with that information? Speaking for myself if I had done the same with one of my libraries, without going to reddit first, without announcing it first, without shopping it around to other projects to see what they think, without offering to integrate it, without constantly pestering Peter (or Chris, if he answered messages) for advice on how I can design my library to be better, and just carried on developing in a vacuum, then just collect it up and plop it down on the mailing list telling everyone else to review it and shove it into Boost because "we have to put it in Boost because it is great and young people don't like callbacks" - I don't think I would feel very good or proud about that.
Well, boost::asio::experimental::coro is the result of me pestering chris.
Now that I've said all that, does any of that resonate with you? Does it inspire you and make you want to do more, so your library can be the absolute best it can be? Is it too much work to do these things? Do you care about setting an example for others? Or perhaps you just know that your library is so great, that these things are not necessary, and want to signal to future potential library authors that if they, too, are confident that their library is "great and will attract users, especially young ones" that there is no need to push themselves to do more when more can be done.
It really depends on the library I would say. Boost.async came out of 2.5y or working with asio::awaitable and a bunch of workarounds like a `select` that were used by a five person team. Then I wrote asio::experimental::coro, which fulfilled a similar need, gets used and goes as far as that can within asio (with it's requirements). Add to that my experience with python & javascript and real world use cases of their async facilities Hence I feel confident in the design. If I just wrote async without any of the history before you would have a point. So I'd think it depends on the library, just like you said. Boost.json would have been fine to review without any users I reckon.