On Thursday 25 April 2024 at 05:13:37 UTC+2 Matthias Koeppe wrote:
On Wednesday, April 24, 2024 at 1:07:44 AM UTC-7 Martin R wrote: You mentioned several times, that discoverability is an important aspect. Do you have any evidence to support that? I mentioned "discoverability" in the context of how I have *named* the distributions. Sorry that my question was not clear enough. Do you have evidence, that this naming enhances discoverability, and that this enhanced discoverability would be worthwhile, since it comes with a cost (as outlined above)? Wouldn't people in the python world who need a serious amount of math know of sage anyway, What is a "serious" amount of math? You know it when you see it. What I mean is, roughly, that it certainly does not make sense to use sage as a package if you need a few graph algorithms (like shortest paths or some such), because then you'd be better served with using a specialised library or perhaps copy the code and adapt it. You might want to use sage as a package, if you want to do serious enumeration of arbitrary combinatorial objects. But then you will need gap, symmetrica, nauty and maxima or fricas anyway. and then, if they cannot rely on all of sage because that is too large, use, for example, `citation.get_systems` to see whether they can do without some dependencies? What do you mean by, "whether they can do without some dependencies"? That's exactly the point of the modularization: - To enable people to use parts of Sage without some [actually, most!] of the dependencies. The only point I am critical of is the splitting of the math library into arbitrary pseudo-mathematical parts (i.e., sage-combinat ... sage-symbolics, as listed above), which has nothing to do with dependencies. [...] I admit, however, that I cannot really think of any serious use of any of the functionality of sage outside of math, where people would know that what they need is, say combinatorics or graph theory. What do you mean by "outside of math"? I agree that my terminology is not good. I tried to make a distinction between research involving math and the - to me unknown - rest. I find it hard to imagine that any mathematician would bother installing anything else but all of sage. So, maybe I should have written: "I cannot think of .... sage in an environment, where dependencies are show-stopper, ...". I guess it would be quite insane to install sage or parts of sage to get an implementation of a particular algorithm in a non-math environment. Yes, "quite insane" would be a good description of doing this (reusing what is implemented in Sage) with the status quo, the monolithic Sage. That's exactly the point. - From the viewpoint of users: It just makes no sense to use a small part of Sage: Because of space and time and friction (and limited portability). However, it *does* make sense to copy small parts of sage. If I need an implementation of some combinatorial algorithm, chances are extremely good that I can simply use ?? to go to the code, and copy the relevant part. - From the viewpoint of contributors of new code that could be reused: It just makes no sense to trap it in Sage, where it cannot be reused sanely. I doubt this. Do you have any evidence for that? Modularization makes it at least "less insane", or perhaps "kind of acceptable", or sometimes even "reasonable". Any of these degrees of improvement of "sanity" would already be a win. I disagree. "less insane" or "kind of acceptable" would be a loss, not a win, since the kind of modularization discussed in this message comes with a big cost. Martin -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/9ac29423-78cd-40ca-9d33-6fc52c404b19n%40googlegroups.com.