On Fri, Apr 15, 2016 at 3:19 PM, Dima Pasechnik <[email protected]> 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 <[email protected]>
>> 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 :)

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

Thanks,
Erik

-- 
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 [email protected].
To post to this group, send email to [email protected].
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