On Friday, April 15, 2016 at 2:25:06 PM UTC+1, Erik Bray wrote: > > On Fri, Apr 15, 2016 at 3:19 PM, Dima Pasechnik <dim...@gmail.com > <javascript:>> wrote: > > On Friday, April 15, 2016 at 1:34:57 PM UTC+1, Erik Bray wrote: > >> > >> On Thu, Apr 14, 2016 at 5:46 PM, Jeroen Demeyer <jdem...@cage.ugent.be> > > >> wrote: > >> > On 2016-04-14 17:38, Erik Bray wrote: > >> >> > >> >> Sage already has the problem of large > >> >> chunks of code that are effectively unmaintained and create a > >> >> maintenance burden on anyone serious about maintaining sage. Their > >> >> interfaces whither, and become inconsistent with the rest of the > >> >> package. It's dead weight. > >> > > >> > I disagree with the above. It's not necessarily a problem to have > >> > unmaintained-but-still-working code. > >> > >> It is a problem to have unmaintained and maybe working but poorly > >> tested and poorly integrated code that nobody knows how to maintain > >> anymore and that doesn't meet the coding and interface standards of > >> the rest of the package. > > > > > > sagenb is a good example here. A lot of it is a very old javascript > code, > > mixed up with twisted and its callbacks, and other partly outdated web > > design > > things, that perhaps noone actively involved in Sage project proper > > understands now. > > > > Attempts to replace it completely with something newer are stalled. It > > actually appears > > to be a legacy that has to be maintained for long time, as there > textbooks > > and courses > > developed and relying on it... > > > > There were attempts to improve it, which also failed, not the least by > > existence > > of better alternatives (SMC and Jupyter nb). > > I admit I obviously don't have a deep understanding of how sagenb > integrates with sage-the-library. I think a better thing to do with > it would be to determine how it currently depends on sage and maintain > those interfaces for some time to come so that it's still possible to > open and use existing sage notebooks. I agree it should be kept > functional, but folding it back into the main library seems like a > backwards approach to me :) > well:
upstream$ tar tf sagenb-0.11.7.tar sagenb-0.11.7/ sagenb-0.11.7/webassets-0.11.1.tar.gz sagenb-0.11.7/Flask-OpenID-1.2.5.tar.gz sagenb-0.11.7/python-openid-2.2.5.zip sagenb-0.11.7/itsdangerous-0.24.tar.gz sagenb-0.11.7/zope.interface-4.1.3.tar.gz sagenb-0.11.7/Flask-0.10.1.tar.gz sagenb-0.11.7/install_order sagenb-0.11.7/sagenb-0.11.7.tar.gz sagenb-0.11.7/speaklater-1.3.tar.gz sagenb-0.11.7/Flask-Babel-0.9.tar.gz sagenb-0.11.7/Twisted-15.5.0.tar.bz2 sagenb-0.11.7/Flask-Silk-0.2.tar.gz sagenb-0.11.7/pytz-2013b.zip sagenb-0.11.7/Flask-AutoIndex-0.5.tar.gz sagenb-0.11.7/Werkzeug-0.11.4.tar.gz sagenb-0.11.7/Babel-2.2.0.tar.gz sagenb-0.11.7/Flask-OldSessions-0.10.tar.gz need I say more? (of this, webassets it not used...) > >> My greatest joy as a software engineer is almost always deleting code > >> not adding it. > >> > >> I think part of the larger problem of this discussion about > >> modularization is that nobody has made any concrete proposals yet. > >> You and others state that there are parts of Sage that are too > >> difficult to separate out because they're too deeply intertwined. But > >> nobody is necessarily proposing making cuts in those places. In some > >> cases maybe the extent of their circular dependency should be taken as > >> evidence of a need for refactoring. But I also believe you that there > >> are large parts where this is not the case. Those parts I believe > >> mostly make up the core package and shouldn't be broken up. > > > > > > the core problem is that the core package is actually very big. > > It is probably 80% of Sage library. > > And it has circular dependencies simply due to the fact that they > > follow circular mathematical dependencies of various mathematical > > concepts (e.g. posets depend on graphs, graphs depend on posets, > > matroids depend on graphs and posets, yet graphs and posets also > > depend on matroids; all the three depend on a lot of algebra, llinear > and > > not, > > and again the other way around, etc etc) > > That all sounds reasonable. I don't disagree with this--at the end > the "core" library may still be quite large. > > > There a clear outliers, like finances, sagenb, graphics, and duplicates > > (functionality-wise), > > such as two different interefaces to GAP (pexpect and libGAP), to Maxima > > (pexpect vs library), > > Cutting these out would already be a huge improvement... > > (but e.g. completely replacing GAP with libGAP is quite a job...) > > Yep, I think these are the best places to focus first, as well as a > lot of the other stuff in sage.interfaces. > > What is the difficulty as it stands with completely switching over to > libGAP? I was under the (apparently false?) impression that that was > mostly a done deal by this point, despite the pexect interface still > being around. > IMHO it's still a good solid person-month of work, to clean it all up, to replace various glue functions which are GAP-specific, but absent in libGAP, etc... And libGAP itself still needs some fixes, as it does not work when one has to exchange a hell of a lot of data, IIRC. (old GAP interface reads/writes files for such cases) Dima -- 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 https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.