On Tuesday, January 11, 2011 17:17:43 Daniel Gibson wrote: > Am 12.01.2011 01:55, schrieb Jonathan M Davis: > > On Tuesday, January 11, 2011 16:23:13 Daniel Gibson wrote: > >> Deprecating them is certainly a good idea, but I'd suggest to keep the > >> deprecated aliases around for longer (until D3), so anybody porting a > >> Phobos1-based application to D2/Phobos2 can use them, even if he doesn't > >> do this within the next few releases. > > > > Well, leaving an alias until D3 would equate to a permanent alias in D2, > > which is exactly what Walter and Andrei don't want (and I don't either). > > There's already plenty in Phobos 2 that's different from Phobos 1. So, > > while I don't think that we should rename stuff just to rename stuff, I > > also don't think that we should keep aliases around just to make porting > > D1 code easier - especially when most D1 code is probably using Tango > > anyway. We don't really have a policy in place for how long deprecation > > should last prior to outright removal, but until D3 is definitely too > > long. I would have thought that the question would be more along the > > lines of whether it should be a couple of releases or more like 6 months > > to a year before removing deprecated functions and modules at this > > point, not whether something will remain deprecated until D3. > > > > - Jonathan M Davis > > Somewhere in this thread: > > Am 11.01.2011 21:43, schrieb Walter Bright: > > Nick Sabalausky wrote: > >> I agree with this reasoning for having them. However, I don't think it > >> means we shouldn't D-ify or Phobos-ify them, at least as far as > >> capitalization conventions. > > > > I also object to rather pointlessly annoying people wanting to move > > their code from D1 to D2 by renaming everything. Endlessly renaming > > things searching for the perfect name gives the illusion of progress, > > whereas time would be better spent on improving the documentation, > > unittests, performance, etc. > > So his objection was specifically that renaming those functions could > annoy people migrating D1 code (and certainly he meant Phobos1 users, > because Tango-people either port (parts of) Tango or will have to > rewrite that anyway). > So, to accomplish that goal (not annoying those people), these aliases > should be kept for longer. > > (An alternative may be to one/some phobos1-compat modules that contain > such aliases and maybe even wrappers with old signatures for new > functions, that could be imported to ease porting of old applications. > That would have the benefit of not cluttering the regular Phobos2 > modules with that legacy stuff.)
Well, I didn't say that Walter wasn't concerned about it. I just don't see the point. Phobos has changed enough from D1 to D2 that even D1 Phobos users (of which I get the impression there are relatively few) that there's probably already plenty of stuff which is going to break for anyone porting over. I do think that keeping a deprecated alias around longer for a function which has been around longer makes sense, and the Phobos 1 functions have been around longer than anything else. So, deprecating a function that was added 2 releases ago probably shouldn't require a deprecated alias for as long as deprecating a function that was in Phobos 1 would, but there's still a limit to how long it makes sense. And given that your average D1 user uses Tango rather than Phobos, it makes that much less sense to keep aliases to Phobos 1 functions around for a long time. So, no, we shoudln't get rid of the deprecated alias for a Phobos 1 function after only a release or two, but I don't think that it makes sense to keep it around for a year or two either. - Jonathan M Davis
