521 days, 22 hours, 7 minutes and 52 seconds...

Laeeth Isharc via Digitalmars-d digitalmars-d at puremagic.com
Mon Jan 26 12:07:41 PST 2015


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.




More information about the Digitalmars-d mailing list