Deprecated Library Functions / Methods

Jonathan M Davis jmdavisProg at gmx.com
Sun Dec 2 18:00:34 PST 2012


On Monday, December 03, 2012 02:49:39 Rob T wrote:
> I know that there are plenty of challenges to overcome wrt
> changing the way D is being developed and released, but to try
> and develop D using only one version for both stable and unstable
> is simply not going to work. It also will not work to lock down D
> and prevent it from improving in breaking ways overthe next 5
> years (or whatever).

There is still a considerable difference between a library which is intended to 
be stable and one which is under heavy development. We've essentially been 
working under a model where the API was fluid enough that we could break code 
as long as we gave enough warning first. We want to move to a model where the 
API is stable enough that code written now will compile 5+ years from now with 
no changes. We can still look at phasing out stuff that needs to be replaced. 
It's just that we then need to keep it around (even if it's deprecated and 
undocumented), whereas when the API is under heavier development, more 
permanent breakage has been permissible. For instance, std.date is dead and 
gone, having been replaced by std.datetime, and that was a good decision at 
the time given the level of stability of the library. But if we were to 
replace std.xml with std.xml2 now, we would need to keep std.xml around long 
term (even if it's deprecated and undocumented) so that code would continue to 
compile for years to come, because we've reached a point when we want to have 
a stable API that people can rely on rather than trying to clean up all of the 
little things that we were trying to clean up before.

So, yes having a development and stable branch will help manage things, but 
even with that separation, we don't want to be breaking people's code due to 
library changes.

- Jonathan M Davis


More information about the Digitalmars-d mailing list