which Sage language flaws have the biggest impact for its future?
Are some kind of antidotes known?
Obviously, the environment plays a crucial role, too.
What are the most serious disadvantages of the academic environment
for a project like Sage?
Jack
On Mon, Nov 11, 2013 at 3:20 PM, <kro...@uni-math.gwdg.de> wrote:
> Hello,
>
>
>
> which Sage language flaws have the biggest impact for its future?
By "language" do you mean "Python"? Or do you mean "language" in the
broader sense of the Python library you get by doing "import sage"?
> What are the most serious disadvantages of the academic environment
> for a project like Sage?
Lack of money to fund work and lack of academic credit for doing work
on software.
However, no non-academic environment has ever produced any significant
software for my areas of research math (number theory and arithmetic geometry).
There are only three projects that got anywhere in this area -- Magma,
Sage, and Pari --
and they have all been developed in universities.
William
Hello,which Sage language flaws have the biggest impact for its future?
Are some kind of antidotes known?
Obviously, the environment plays a crucial role, too.
What are the most serious disadvantages of the academic environment
for a project like Sage?
Jack
On Mon, Nov 11, 2013 at 3:20 PM, <kro...@uni-math.gwdg.de> wrote:
> Hello,
>
>
>
> which Sage language flaws have the biggest impact for its future?
By "language" do you mean "Python"? Or do you mean "language" in the
broader sense of the Python library you get by doing "import sage"?
> What are the most serious disadvantages of the academic environment
> for a project like Sage?
Lack of money to fund work and lack of academic credit for doing work
on software.
However, no non-academic environment has ever produced any significant
software for my areas of research math (number theory and arithmetic geometry).
On Mon, Nov 11, 2013 at 4:55 PM, <kro...@uni-math.gwdg.de> wrote:
>
>> On Mon, Nov 11, 2013 at 3:20 PM, <kro...@uni-math.gwdg.de> wrote:
>> > Hello,
>> >
>> >
>> >
>> > which Sage language flaws have the biggest impact for its future?
>>
>> By "language" do you mean "Python"? Or do you mean "language" in the
>> broader sense of the Python library you get by doing "import sage"?
>>
> I mean Python with Sage modifications ('Sage preparser')
>
>>
>> > What are the most serious disadvantages of the academic environment
>> > for a project like Sage?
>>
>> Lack of money to fund work and lack of academic credit for doing work
>> on software.
>
> I agree. On my list are also:
>
> - high employee turnover rate (causes software maintenance issues)
With Sage there are no employees, so that's not a factor.
There are volunteers, and the turnover rate is surely significantly
less than in industry.
I just read something today that said people stay at google around 1.5
years, and microsoft around 4-5 years... but typical Sage developers
contribute for many, many year. Quite a lot of people involved now,
have been involved for 5+ years. Because Sage is open, people can
always stay involved as well -- at least they are available, unlike
with proprietary software, where when you leave the company you cannot
be involved anymore at all, in most cases.
> - lack of experience of some project leaders with software development
If the project were not done in an academic context that could be
replaced by "lack of experience of some project leaders with pure
mathematical research", which would be a much, much more significant
limitation. Software development skills are easier to acquire than a
Ph.D. in mathematical research.
> - often missing or insufficient evaluation/review of the implementation part
> and design aspects in the context of a master thesis or a Ph.D. project.
RJF
- Robert
Welcome to the world of academic computer science. Why would you
expect a proper evaluation to be done by MATH faculty
--
>
> I didn't start this thread. You did. You asked "which Sage language flaws
> ..."
I did?
> I don't know for sure what you mean by "language flaw". Unless you
> think that Sage is a language and all its flaws are language flaws.
> A notion I think is flawed.
I, honestly, had a hard time understanding the question as well. The
drawbacks (tradeoffs) of Python are well documented; the Sage
preprocessor adds little but could be seen as a wart in some ways.
- Robert
But maybe there are? A paper showing how Sage exceeds Axiom (for example)
in cleverness or efficiency or something?
RJF
On Tue, Nov 12, 2013 at 2:11 PM, Robert Bradshaw <robe...@gmail.com> wrote:
>
>>
>
> William made the initial choice of explicitly *not* trying to design a
> new programming language for Sage. I'd call this respect for the last
> 50 years of programing language design rather than disregard.
>
>> I do not recall reading any technical articles on Sage design. Just
>> the promotional literature on GPL, Python is great, and the goal to be the
>> free
>> alternative to programs which are not free (implicitly duplicating the ones
>> that
>> are free...)
>>
>> But maybe there are? A paper showing how Sage exceeds Axiom (for example)
>> in cleverness or efficiency or something?
>
> Number of contributors? Or even number of users? That's certainly not
> the only (or best) metric, but it's quite a relevant and quantifiable
> one.
I wonder how Sage compares to Axiom in "number of flame wars"?
On Tue, Nov 12, 2013 at 2:50 PM, rjf <fat...@gmail.com> wrote:
>
>
> On Tuesday, November 12, 2013 2:16:04 PM UTC-8, William Stein wrote:
>>
>> On Tue, Nov 12, 2013 at 2:11 PM, Robert Bradshaw <robe...@gmail.com>
>> wrote:
>> >
>> >>
>
> RWB said..
>>
>> >
>> > William made the initial choice of explicitly *not* trying to design a
>> > new programming language for Sage. I'd call this respect for the last
>> > 50 years of programing language design rather than disregard.
>
>
> Does WS agree?
Yes, I agree that I chose Python so that I would not have to design a
new programming language for Sage.
I considered a large number of mainstream programming languages. The
minimal criteria were:
(1) possible to extend at C speed,
(2) similar to the Magma programming language.
The initial goal of the project was to provide a better alternative to
Magma for current and prospective users of Magma. Python satisfies 1,
and was certainly the mainstream language most similar to Magma at the
time, and still is as far as I can tell. I did look a large number of
other languages, but many were either very significantly different
than Magma or couldn't be extended at C speed.
> It seems to me that there is sufficient evidence that Python
> has difficulties expressing certain mathematical ideas.
Python is very good for *everything* mathematical that I do, and I
really like it.
Python is basically a nonstarter for some of the non-mathematical
programming I do (which is quite a lot), so I don't use Python for
that (instead I use Node.js).
> Just look at the
> groups posts. Is Python nevertheless the best so far? I suppose someone
Yes. I don't have the slightest regret about choosing Python for the
Sage project.
I *do* regret choosing Mercurial instead of Git though.
> could
> try to write a paper on that topic. If none has ever been written -- i.e.
> no one
> has bothered to compare Python and its effectiveness to alternatives, then
> that's certainly a demerit in the column of Sage boosters.
It's one thing to compare Python, and another thing to actually
*publish* a paper about such a thing. I would get absolutely no
credit academically for publishing such a paper, since I'm in a
mathematics department, as are most other Sage developers.
For
better or worse, many mathematicians would look at writing papers such
as that as a waste of time, so there isn't much incentive for us to
write such things and publish them.
But when people implement things they do actually bother to make
comparisons. For example, here's what some of my students did in 2008
when starting on graph theory: http://wiki.sagemath.org/graph_survey
Honestly, none of us even considered for a moment to actually
*publish a paper* comparing software for graph theory.
That just
seems absurd from the perspective of mathematics, where we appreciate
and publish work with actual lasting meaning.
>> >> But maybe there are? A paper showing how Sage exceeds Axiom (for
>> >> example)
>> >> in cleverness or efficiency or something?
I've never heard of any mathematician in number theory or arithmetic
geometry who is an Axiom user, at least in the last decade.
I've
never heard of Axiom doing really anything of use in my area of math.
So it would have to be written by somebody else in some area of
mathematical research where Axiom has made contributions.
That said, again writing a paper that "shows Sage exceeds Axiom in
efficiency" would be a waste of my time, given how mathematical
researchers (such as I) are evaluated, and also given all of my goals
in life.
Making a wiki page, or something like that, would be
worth doing, but an actual paper? Pointless.
> I guess there are no such papers known to RWB or WS, so probably no
> such papers at all. So the prevailing design was "I don't know much
> about these computer algebra systems and don't need to know more
> about them because GPL Python Cython is great.
Just because I and others don't waste valuable time publishing papers
that we will get no credit for and that will in no way advance any of
our goals doesn't imply ignorance. That you (RJF) admit to having
never used Sage does imply ignorance.
>> > Number of contributors? Or even number of users? That's certainly not
>> > the only (or best) metric, but it's quite a relevant and quantifiable
>> > one.
>
>
> How about number of forks? Axiom has two. (FriCAS being the other).
> How about budget? You know that Axiom was supported for quite some
> time as ScratchPad, by IBM, and then (unsuccessfully) spun out commercially.
>
> I suspect that Sage is substantially inferior to Maxima by the metrics you
> suggest because (a) every Sage installation includes Maxima so Maxima
> user-count strictly dominates. (b) Even so, there are probably an extra
> 100,000
> Maxima downloads/users. (c) Contributors? dunno how to count, but there
> might be
> some weighting factor so as to consider size or importance or correctness
> of contribution. Or <what the heck> whether the contributor has a PhD.
The only metric that matters is the extent to which Sage helps people
solve their problems,
and also how responsive the community is to
helping people with trouble.
For example see the publication list,
which shows that Sage has been used to solve problems:
http://sagemath.org/library-publications.html
And see the mailing lists and http://ask.sagemath.org to see that
there is a supportive community.
It doesn't matter at all to me if Sage is "better" or "worse" than
Axiom in terms of some random metric. What does matter is that Sage
provides value to users.
USER: I want to solve problem X.
For many, many interesting values of X, Sage can be effectively used
by people to solve problem X.
This is what matters. And the only X's that matter are the ones
people genuinely care about.
> I am not aware of anyone running a forked Sage project, but maybe there is
> one?
I'm pleased to report that nobody has tried to fork the Sage project.