On Monday, 26 January 2015 at 19:50:39 UTC, H. S. Teoh wrote:
On Mon, Jan 26, 2015 at 10:33:32AM -0800, Andrei Alexandrescu
via Digitalmars-d wrote:
On 1/26/15 10:17 AM, H. S. Teoh via Digitalmars-d wrote:
[...]
>But OTOH, if *this* is what it takes to contribute a new
>module to
>Phobos, then it's no wonder we have trouble finding
>contributors...
>Most would give up before they even try. I think there's an
>imbalance
>here between the quality of existing Phobos modules vs. the
>quality
>expected of future Phobos modules. Whatever happened to
>incremental
>refinement?? Do we really expect flawless perfection before
>merging
>to, of all places, std.*experimental*?
For a good while there was no std.experimental. Its
introduction was
partially motivated by the stalemate of this contribution. --
Andrei
And yet it still took so long to get it in?
IMO a better approach would have been, merge it into
std.experimental
sooner, then submit followup PRs to std.experimental when the
implementation is found to be inferior. We already officially
don't
guarantee non-breakage in std.experimental anyway, so we're not
constrained by release schedule or anything like that.
Plus, this way it's easier for other contributors to chime in
to the
implementation (I know you can submit PRs against other PRs,
but not
many people know that or have the patience to do that).
Once we've bashed it into shape in std.experimental to
everyone's
satisfaction, we can move it into std proper.
If it takes just as much effort to get it into std.experimental
as it
would take to get into std directly, I don't see the point of
the
additional hassle introduced by std.experimental.
T
I don't claim expertise on library development, but isn't it the
norm that the bar is raised for quality as a platform matures.
Because complexity increases much more than linearly with time,
and also as one learns from earlier mistakes and missteps.
If it is not easy to get a contribution in, that raises the
satisfaction of having it eventually accepted. People like
having a high bar to meet, even if that's not the way of the
modern world. And D's orientation towards excellence is one of
the things I personally find most appealing.
Maybe it is worth writing up some lessons learned from the
discussion on github and pointers for future contributors.