On Thu, Jun 15, 2023 at 6:49 PM 'Travis Scrimshaw' via sage-devel
<sage-devel@googlegroups.com> wrote:
>
> Hi William,
>    That is interesting. Although my take on that is following Matthias's 
> proposal, they will just use one (or more) part of Sage as a Python library. 
> So if they switch, in effect they will still be dropping Sage.

If you really do see "using or more parts of Sage as a Python library"
as "dropping Sage", then I can see why you're so worried by the
modularization proposal.

> I don't see Sage as having its own custom language other than some small 
> syntactic sugar items (although I guess the ^ for ** is a big one for people 
> switching to Python),

There is a list of changes that the preparser introduces, and it's not
trivial, including the fact that all numerical literals are different
Overall, I think the preparser has a significant negative impact on
usability to Sage, because it cuts sage users off from a rich
ecosystem of tooling, e.g., automatic formatters like yapf and black,
the amazing  LSP tooling of Python like
https://github.com/python-lsp/python-lsp-server, and it makes the
stack traces that one sees when using Sage confusing.   I created the
preparser in the first place, but I can certainly appreciate that it
has a lot of negatives.  When I created it, I had no idea how much the
general Python ecosystem would grow, or how much value there would be
in participating in it.

> but it does sit within its own environment (which has its pros and cons IMO). 
> It is slightly annoying to bring everything into that environment, but I feel 
> that we can get a bit of a smoother user experience this way.
>
> I guess some of it comes down to what our target audience is. Even if we were 
> just a normal Python package and just do "from sage import *", I think Sage 
> would have a hard time competing against things like NumPy and matplotlib for 
> those first year courses.

matplotlib plotting api (at least pylab) is like matlab. Sage has a
huge amount to offer related to plotting that is complementary to
matplotlib, due to the mathematica like plotting api, and also rich
support for symbolic functions with fast evaluation.

> They are currently too broadly used in many fields/industries, so 
> universities will want to emphasize those. However, Sage is better equipped 
> to do the more specialized math courses and research based computations. I 
> don't think we have spent nearly enough time making our own set of teaching 
> tools to compete; mostly that has been split off/overtaken by the Jupyter 
> notebooks or in the libraries we build off of. I think we would need to have 
> more of an influence in industry jobs to bring more universities around to 
> saying "start Python, then do 'from sage.all import *'."
>

The point of making Sage part of the broader ecosystem is definitely
not to compete with numpy.  It is to provide value to more people, and
to make sage better benefit from a much larger ecosystem.   Also,
sympy is very popular and the sort of people that are interested in
installing sympy might also be interested in sage.  Sympy was
downloaded over 2 millions times in the last week from pypi:
https://pypistats.org/packages/sympy

One thing is that the GPL license might be a significant non-technical
issue blocking interest in Sage by the broader python ecosystem, where
everything else is under much more commercial friendly licenses.  That
ship has sailed (Sage will always be GPL'd), but it is something we
have to be realistic about.

> Perhaps this is the question that I am looking for an answer for, "What is 
> Sage (after modularization)?"

Sage would be part of the Python ecosystem.


>
> Best,
> Travis
>
>
> On Friday, June 16, 2023 at 8:23:01 AM UTC+9 William Stein wrote:
>>
>> Hi Sage Devs,
>>
>> As further motivation for this discussion of "Modularization project:
>> I. The goals", here is a quote from a discussion just now (with
>> permission) from Eric Deeds, who is the vice chair for Life Sciences
>> Math Courses and Professor of Integrative Biology and Physiology at
>> UCLA:
>>
>> "I think we may also switch to using Python with libraries, rather
>> than SageMath since Python is much more widely used."
>>
>> At UCLA they currently use SageMath (the full environment and
>> language) with about 3K students per year, and are considering
>> switching from Sage to normal Python, since sage is its own custom
>> language and environment, which isn't exactly the Python language,
>> etc. This is motivation for modularization of sage, since there is
>> substantial functionality in Sage, e.g., "plotting vector fields",
>> which they would like to use still. Of course, I did explain how it
>> is possible to use normal Python and import sage via "from sage.all
>> import ...". However, properly supporting using Sage from Python like
>> any other Python citizen would be even better, and that's something
>> that would result from the project Matthias is spearheading.
>>
>> -- William
>>
>> On Mon, Jun 12, 2023 at 4:54 PM Nathan Dunfield <nat...@dunfield.info> wrote:
>> >
>> > On Monday, June 12, 2023 at 2:58:18 PM UTC-4 Matthias Koeppe wrote:
>> >
>> > What parts of Sage does SnapPy use?
>> >
>> >
>> > Primarily the various rings/fields, including matrices over them and basic 
>> > linear algebra. Specifically, interval arithmetic 
>> > (Real/ComplexIntervalField), polynomial rings (in several variables, 
>> > including Laurent polynomials), number fields, and the basic rings ZZ, QQ, 
>> > GF, RealField, ComplexField, etc. Also, the ptolemy submodule uses Sage 
>> > for groebner_basis calculations. I suspect most of what we use would be 
>> > part of any initial pip-installable version of the Sage library. Right 
>> > now, in the stand-alone apps we backstop some of Sage's functionality 
>> > (e.g. arbitrary precision floats) with CyPari, which is itself an example 
>> > of part of Sage being modularized.
>> >
>> > Best,
>> >
>> > Nathan
>> >
>> > --
>> > 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+...@googlegroups.com.
>> > To view this discussion on the web visit 
>> > https://groups.google.com/d/msgid/sage-devel/4b14371d-b528-4b43-b350-5920259c88e1n%40googlegroups.com.
>>
>>
>>
>> --
>> William (http://wstein.org)
>
> --
> 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/91a2c3b6-a018-4931-890f-ce3ce5ced8b8n%40googlegroups.com.



-- 
William (http://wstein.org)

-- 
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/CACLE5GAqPuQ4v%3DFiNNj8wrOcAaS49Z1goS2ZrQtaMTPMKEEyxA%40mail.gmail.com.

Reply via email to