Path as an object in std.path

Jonathan M Davis jmdavisProg at gmx.com
Thu Jun 6 10:59:20 PDT 2013


On Thursday, June 06, 2013 13:45:44 Andrei Alexandrescu wrote:
> > D and Phobos aren't considered stable by any
> > standard; I don't think we should treat them like they're set in stone.
> > Also, deprecation gives developers plenty of time to update their code
> > (if they have to at all).
> 
> I think this opinion is very unlikely to enjoy popularity. We actively
> /want/ to make Phobos more stable, so using the argument that it's not
> yet stable to add more instability is sure to fit the pattern of some
> list of fallacies. Besides, the corresponding benefits (the best solid
> argument that could be constructed) are at least according to some not
> that large to justify the cost of breakage.

Agreed. Breaking stuff in an effort to create a solid, stable API is one thing 
(and at this point, we want to minimize even that as much as we reasonably 
can). Constantly going back and rebreaking stuff is quite another. We already 
redid std.path. It went through the full review process and was voted in. We 
want to move towards being _more_ stable not less. Some API breakage will 
still be necessary (like replacing std.xml or the streaming modules), but it's 
a cost that we want to avoid when it isn't necessary. Each module redesign 
must justify itself, and the simple fact that other modules have already been 
redesigned is not enough for that. Not to mention, over time, it should 
arguably require _more_ justification to redo a module (or make any breaking 
change in Phobos), because more people are using it, and we really do want to 
be stable.

- Jonathan M Davis


More information about the Digitalmars-d mailing list