On 9/19/07, Jason Grout <[EMAIL PROTECTED]> wrote: > I thought I'd make at least one of the graph functions mentioned in > another thread before quitting for the day. However, which is deemed > better: to make these functions for SAGE or to make them for NetworkX > and then write the wrapper for SAGE?
I personally would just put new code in Sage first because: * it's faster, * version control is easier and simpler, and we have clear documentation and testing standards, * you can use anything in Sage to make your code faster or better, including optimizing parts of it in Cython -- this won't be allowed in networkx. * assuming the code doesn't depend on Sage, it could always be moved upstream later, especially once the code has been seen be several Sage users/developers, tested, etc. That would probably make it much easier for you to make a case upstream for them considering your code. * many functions from combinatorica involving plotting, say, only make sense to implement in Sage, since networkx doesn't have some of the relevant plotting code. * Finally, I'm greedy and impatient and what code in Sage sooner rather than later, and the upstream to downstream path you suggest above can be very painfully slow, especially if the upstream program only gets released once every 6 months or less (this is typical for most components of Sage). Note -- I am *not* talking about bug fixes, where getting them upstream ASAP is almost always the best thing to do (except with some projects, since it can be too frustrating). William --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~----------~----~----~----~------~----~------~--~---