On Sun, 25 Jan 2009 09:19:54 -0800
Martin Albrecht <m...@informatik.uni-bremen.de> wrote:

> 
> How about we agree *months* ahead on when a new major release is
> supposed to hit the shelves.Then say two month before that release we
> make a freeze on stuff that can be removed in the next release, so
> that I know if I want to get rid of a certain function, I have to do
> it within a well known time frame. I still think that we should seize
> the opportunity to break backward compatibility in a new major
> release like x.0.

I like this idea.

Sage is too young to stabilize its interfaces. Keeping the cruft in
there will just make it harder to maintain the library and discourage
people from taking the time to fix things properly.

We shouldn't forget that the development process of Sage is much
different than other CASs, some of which strive to keep backward compatibility 
even with ancient versions.

Many people use Sage because it improves rapidly, and they can easily
influence the development or contribute to it. They enjoy the advantage
of having access to the new features immediately, but they also have to
keep up with a moving target.

If you write code using a well developed area of Sage, I doubt
that your code will break very often.  Unfortunately, at this stage, there 
aren't many "well developed" areas. 


> I never suggested to get rid of deprecation warnings. Right now, Sage
> 3.3.2.1 might break backward compatibility because it happens to be
> six months after some developer decided to deprecate a certain
> function. This situation *way* less predictable than following the
> standard strategy for dealing with version numbers. 


The deprecation warnings are not the silver bullet either. We go about
changing the interface to specific functions freely. When things break
in this case, the user has to look in the documentation of that
function and figure out what changed. All that is provided by a
deprecation warning is a pointer to the new documentation.


Instead of trying to keep old code from working, we should document the
processes with which users can test their code when they upgrade Sage.
The doctest framework already provides the basis for this, it is just
not clear to many people how to use it for code developed outside the
Sage library.


Burcin

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

Reply via email to