Le 12/11/2013 22:12, Robert Bradshaw a écrit : > Writing code that works against, for example, multiple versions of > Python takes extra care, as does testing it. Expand this to many > different libraries and one has a full cross product of possible > failure modes. Couple that with the (like it or not) common pattern of > learning correctness (or to code at all) by "what works on my machine" > and there's value to having a standard environment. Transferring that > to "works on your machine too" *is* harder the more underlying > libraries can vary, and also negatively impacts reproducibility (which > has practical applications for development and academic value).
Write all your code against single versions of python/boost/cython/whatever, during months. Try to update any of your so-specific versions, and see everything break at once. That is how current sage works, and why upgrading core things is hairy. Instead let people use various versions of everything. At the slightest unconsidered change, people report immediately that something is amiss, so you have a wealth of different reports which show if your small code change is faulty, or if you just hit a bug in some of your deps, and you have a clue in which of the deps and which precise version is having the issue. It's like evolution in species: if your code gets too adapted to a single environment, it will break at the slightest change. The sooner it breaks, the better (less to debug). And the wider range of variants, the better (easier to debug). Snark on #debian-science -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/groups/opt_out.