On 11/15/18 6:35 AM, Joel Nothman wrote:
I think there are cases where the first few arguments would be better to maintain as positional, but users would very rarely use more than two, and we have long assumed keyword arguments in most cases, and never received complaints when we have inserted not at the end or deprecated in the middle.

I would expect that forcing all params after the first two (or three) to be keyword arguments would formalise existing tacit assumptions, would benefit maintainability, and would break very little code.

I was about to say "you expect but we have no way to measure that".

But then I realized we totally have a way to measure that (if using the open source code on bigquery counts).

I could try to see if people use positional arguments and where. No promise on timeline though. I think there is little harm in doing it for new parameters while we figure this out, though?


On Thu, 15 Nov 2018 at 20:34, Gael Varoquaux <gael.varoqu...@normalesup.org <mailto:gael.varoqu...@normalesup.org>> wrote:

    I am really in favor of the general idea: it is much better to use
    named
    arguments for everybody (for readability, and to be less depend on
    parameter ordering).

    However, I would maintain that we need to move slowly with backward
    compatibility: changing in a backward-incompatible way a library
    brings
    much more loss than benefit to our users.

    So +1 for enforcing the change on all new arguments, but -1 for
    changing
    orders in the existing arguments any time soon.

    I agree that it would be good to push this change in existing
    models. We
    should probably announce it strongly well in advance, make sure
    that all
    our examples are changed (people copy-paste), wait a lot, and find a
    moment to squeeze this in.

    Gaël

    On Thu, Nov 15, 2018 at 06:12:35PM +1100, Joel Nothman wrote:
    > We could just announce that we will be making this a syntactic
    constraint from
    > version X and make the change wholesale then. It would be less
    formal backwards
    > compatibility than we usually hold by, but we already are loose
    with parameter
    > ordering when adding new ones.

    > It would be great if after this change we could then reorder
    parameters to make
    > some sense!

    > _______________________________________________
    > scikit-learn mailing list
    > scikit-learn@python.org <mailto:scikit-learn@python.org>
    > https://mail.python.org/mailman/listinfo/scikit-learn


--     Gael Varoquaux
        Senior Researcher, INRIA Parietal
        NeuroSpin/CEA Saclay , Bat 145, 91191 Gif-sur-Yvette France
        Phone:  ++ 33-1-69-08-79-68
    http://gael-varoquaux.info http://twitter.com/GaelVaroquaux
    _______________________________________________
    scikit-learn mailing list
    scikit-learn@python.org <mailto:scikit-learn@python.org>
    https://mail.python.org/mailman/listinfo/scikit-learn


_______________________________________________
scikit-learn mailing list
scikit-learn@python.org
https://mail.python.org/mailman/listinfo/scikit-learn
_______________________________________________
scikit-learn mailing list
scikit-learn@python.org
https://mail.python.org/mailman/listinfo/scikit-learn

Reply via email to