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.


Reply via email to