- Tim Joseph Dumol <tim (at) timdumol (dot) com>

On Sun, Nov 1, 2009 at 10:49 PM, Dr. David Kirkby
<david.kir...@onetel.net>wrote:

>
> Alex Ghitza wrote:
> >
> > Dear sage-devel,
> >
> >
> > A while back we decided that we shouldn't just randomly break users'
> > existing code even if the reason is very good (e.g. there are 20 names
> > for the exact same thing, and 19 of them are just bad, or we want to
> > change to a better convention for something).  The idea was that
> > features, names, etc. should not simply be removed, but they should be
> > deprecated; so they would continue to work just as before for a while,
> > but they would display a DeprecationWarning whenever they are used.  I
> > guess the idea is that the user would eventually get tired of seeing
> > the warning and finally switch to the new and improved notation,
> > convention, whatever.
> >
> > There was some discussion of the length of time for which we should
> > keep deprecated features around before finally throwing them out, but
> > as far as I know there was no clear decision on this (and the
> > Developer Guide doesn't mention anything about this).
> >
> > Can we decide on something?  I don't really have strong feelings about
> > this, but given some of the issues that transpired in the thread about
> > stable/conservative versions of Sage, I would tend to pick something
> > like 12 months (which for Sage counts as rather long-term).  Of course
> > this wouldn't have to be set in stone and we could revisit the
> > decision in 20 years once/if the pace of development has slowed down.
> >
> To me, a year is FAR too short. Mathematica makes a major release about
> once
> every two years, and a semi-major one every 6-12 months. There are plenty
> of
> people using older versions of that. If Sage wants to make a viable
> alternative
> to Mathematica, it needs to keep deprecated functions a lot longer than a
> year.
> I know WRI do - I'm also aware they break backwards compatibility some
> times.
>
> I think 10 years would be best. Any less than 5 is asking for trouble. Sure
> Sage
> makes a new release every couple of weeks, but as we see from recent
> discussions, not everyone wants to update every couple of weeks.
>
> > Another question is how we can efficiently keep track of deprecated
> > things.  Having thought about this for a whole 3 minutes: we could set
> > up a new component on trac, called "deprecation"; each time a patch
> > deprecating something gets a positive review, the patch author should
> > create a new deprecation ticket, which could contain a time stamp in
> > its title, and refer to the original ticket.  Then bored/conscientious
> > people could comb through these deprecation tickets once in a while
> > and, once the time is up, actually remove the deprecated stuff.
>
> As for your idea of adding something to trac, I would agree with that. I
> have
> often seen files where there are references to something can be removed in
> a
> couple of months, but it is there years later.
>
> I do not know if it is possible, but I wish one could select more than one
> thing
> in trac. i.e. some issues might be related to deprication on Solaris. Does
> that
> go into deprecated, or Solaris? Sometimes I've found things that affect
> Solaris
> and HP-UX. Should that go into porting (as it affects two platforms), or
> just
> Solaris, as that is the main porting effort?
>

Perhaps a tag would be more appropriate to indicate deprecation, then.


>
>  > Stupid example: say I want to rename the matrix method "echelonize" to
> > "echelonise".  I write a patch implementing this today, and Minh is so
> > happy about seeing this that he immediately gives it a positive
> > review.  So I make a new ticket titled "2010-11-02: get rid of
> > M.echelonize", and I mention the original ticket in the description.
>
>
> Seems reasonable, but trac would need to have added a type 'deprecation'.
> Someone would have to look at that periodically.
>
> PS. It would be really good to get rid of the warning about the 'md5'
> module one
> gets when typing notebook(). This must be one of the very first things a
> new
> user does, and he gets a warning. Having that sort of thing happen on
> rarely
> used bits of Sage is acceptable, but I think that particular bit should be
> fixed
> if it can.
>
> **********************************************************************
> sage: notebook()
> The notebook files are stored in:
> /export/home/drkirkby/.sage//sage_notebook
> **************************************************
> *                                                *
> * Open your web browser to http://localhost:8000 *
> *                                                *
> **************************************************
>
> /export/home/drkirkby/sage/gcc32-sage-4.1.2.rc0/local/lib/python2.6/site-packages/twisted/persisted/sob.py:12:
> DeprecationWarning: the md5 module is deprecated; use hashlib instead
>   import os, md5, sys
>
>
> Dave
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to