Proposal on improvement to deprecated
Jonathan M Davis
jmdavisProg at gmx.com
Sun Oct 2 18:48:17 PDT 2011
On Sunday, October 02, 2011 17:10:58 Walter Bright wrote:
> On 10/2/2011 1:16 PM, Jonathan M Davis wrote:
> > The feature needs to be simple.
>
> Yes, totally. And it is simple, now.
>
> The trouble is coming from the wholesale deprecation of large swaths of
> Phobos with every recent release. I don't think the solution is to make
> deprecation more complex (because no matter what you do, the user will
> still have to re-edit his code, and that's the real problem), but to make
> deprecation and code breakage a rare event.
I think that that's a separate (albeit related) issue. If anything, the fact
that we've been using the deprecated feature and found there to be issues with
using it shows that it needs to be improved. I don't think that it needs
drastic improvements (aside from adding a message to it), but it does need
some improvement. I think that my suggestion does that, though Michel Fortin's
suggestion in his response probably does it better because the result is even
simpler than my proposal.
I completely agree that deprecation should be a rare event. However, a number
of us feel that Phobos needs to be made more consistent and have been making
changes in line with that (such as fixing the names to match the naming scheme
of the rest of Phobos and to make stuff follow current D programming idioms,
such as ranges). I fully expect that that will taper off and that Phobos' APIs
will become more stable. But we either fix it now or leave it as inconsistent
in the long run (thereby reducing its quality), since the longer that we wait
to change it, the more code will break when we do.
For what it's worth, I think that most of the major changes are done aside
from a few major module redesigns which have been in the works for some time
(such as the redesign of std.stream and std.xml). The only major set of
functions that I can think of at the moment that need to be looked at are the
functions in std.string which take patterns, since they don't follow the
correct naming scheme yet and there has been discussion of making them use
regexes instead. So, I think that we're approaching the point when the APIs
will stabilize.
Regardless of all that though, I think that the issues that we've found in
using deprecated need to be addressed - preferably with a simple solution, but
they need to be addressed just the same.
- Jonathan M Davis
More information about the Digitalmars-d
mailing list