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/
-~----------~----~----~----~------~----~------~--~---

Reply via email to