On Friday, April 15, 2016 at 3:16:25 PM UTC+1, Dima Pasechnik wrote:
>
>
>
> 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> 
>> 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)
>

in fact, it seems that things are moving here, see e.g. 
http://trac.sagemath.org/ticket/20276
 

>
>  
> 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.

Reply via email to