#10963: More functorial constructions
-------------------------------------+-------------------------------------
Reporter: nthiery | Owner: stumpc5
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-6.1
Component: categories | Resolution:
Keywords: days54 | Merged in:
Authors: Nicolas M. Thiéry | Reviewers: Simon King, Frédéric
Report Upstream: N/A | Chapoton
Branch: | Work issues:
public/ticket/10963 | Commit:
Dependencies: #11224, #8327, | eb7b486c6fecac296052f980788e15e2ad1b59e4
#10193, #12895, #14516, #14722, | Stopgaps:
#13589, #14471, #15069, #15094, |
#11688, #13394, #15150, #15506 |
-------------------------------------+-------------------------------------
Comment (by ncohen):
> Guys, this is a very interesting discussion and we should pursue it;
> there is a whole research area to explore. But I believe we should
> really do that elsewhere. Here, we have a well defined task, namely to
> devise a plan to finalize this ticket as soon as possible. There is a
> lot of code that has been waiting for the features way too long, and
> it's blocking the work of several developers. We also have a long
> backlog of further important developments around categories
> (morphisms, ...).
Nicolas, the review process of a ticket is *PRECISELY* where all design
choices should be discussed. The reviewer's role is not to accept all
design choices you made without discussing them. It is his role to check
and understand each piece of your code and think whether it makes sense or
not. The fact that you have a lot of things depending on this ticket is
just a result of your own independent development in sage-combinat. THIS
is why it takes 3 years to merge a ticket like this one. And now you come
and use this argument to say "Come on guys, a lot of thing already depend
on this ticket, let's merge it quick and change things later".
This is not fair. You should not think of the review as a bother,
preventing you from getting tickets in Sage. The review is THE thing that
makes your code not just "your own thing" but a piece of code that several
people agree on. Something we think good for the software and want to have
inside.
You should use the review as a test, to find out whether your code makes
sense. Whether people understand it. If the reviewers do not understand
what the code does from the doc, it means that the doc should be
rewritten, and rewritten again until it is clear.
How many exchanges do you think it takes to implement a 10lines functions
like Frederic's polynomials (#25622 for instance) ? The function's name is
discussed, the efficiency of the algorithm, the correction. Hell, ten
lines of code take several hours, and at the end the patch is good, tested
and clear. We did our best, and there is no stuff "left to be done". And
it is not very long ago that you began to write the doc explaining how it
was to be used !
This is what you read at the beginnig on Knuth's books :
"Here is your book, the one your thousands of letters have asked us to
publish. It has taken us years to do, checking and rechecking countless
recipes to bring you only the best, only the interesting, only the
perfect. Now we can say, without a shadow of a doubt, that every single
one of them, if you follow the directions to the letter, will work for you
exactly as well as it did for us, even if you have never cooked before."
We should build a software like that. We shouldn't write anything in there
if we don't think that it is reliable, or that it will have to be
rewritten again. Let's write something *GOOD*.
> The core question is what absolutely needs to be done *now* ?
The only question is : "what is the best way to do it ?". And that's why
every single line of a patch needs to be thought upon.
Please don't try to cut the discussions short.
Nathann
--
Ticket URL: <http://trac.sagemath.org/ticket/10963#comment:418>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" 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 http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.