Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #48944

Re: Default Value

Date 2013-06-22 20:36 +0100
From MRAB <python@mrabarnett.plus.com>
Subject Re: Default Value
References (10 earlier) <mailman.3666.1371841687.3114.python-list@python.org> <51c4fe76$0$29999$c3e8da3$5496439d@news.astraweb.com> <CAPTjJmpqpYGYKKVoq9VKOEnkp50+vgo6UJ6Zfoq_3dpf0e0=eA@mail.gmail.com> <mailman.3683.1371866659.3114.python-list@python.org> <49116823-a628-4689-8584-2e24f33ed65c@googlegroups.com>
Newsgroups comp.lang.python
Message-ID <mailman.3706.1371929977.3114.python-list@python.org> (permalink)

Show all headers | View raw


On 22/06/2013 03:32, Rick Johnson wrote:
> On Friday, June 21, 2013 8:54:50 PM UTC-5, MRAB wrote:
>> On 22/06/2013 00:51, Rick Johnson wrote:
>> > On Friday, June 21, 2013 5:49:51 PM UTC-5, MRAB wrote:
>> > My argument has always been that mutables should not be
>> > passed into subroutines as default arguments because bad
>> > things can happen. [...] I also believe that a programmer
>> > should not be prevented from passing mutable default
>> > arguments [...]
>> So, having mutables as default arguments is a bad idea,
>> but a programmer should not be prevented from doing that,
>> and a warning message should be printed on such occasions.
>
> Well i'll admit that does sound like a contradiction.
> Basically i meant, programmers should be *discouraged* from
> passing mutables as default arguments but not *prevented*.
> Of course, utilizing a stateless subroutine like i suggest,
> argument mutability would not matter.
>
> Sometimes when you're passionate about something your
> explanations become so verbose as to render your idea lost
> in the noise. Obviously i made that mistake here :)
>
Yes, a more measured explanation tends to work better. :-)

> In my last reply to Rotwang i explained the functionality i
> seek to achieve in a set of three interactive examples.
> Take a look at those and let me know what you think.
>
Hmm. Like they say, "The devil's in the details". As with the
mutability thing, I need to think about it some more. Sometimes it
seems straight-forward, until you try to do it! :-)

>> > Why should i help the developers of this language. What have
>> > they done for me?
>>
>> They've developed this language, and provided it for free.
>> They've even released the source code. You perceive flaws
>> that you say must be fixed, but you're not going to help
>> to fix them.
>
> Agreed. And i am thankful for everyone's contributions. I
> can be a bit harsh sometimes but my intention has always
> been to improve Python.
>
>> I _do_ want you to help to improve the language, and I
>> don't care if you don't get it right first time. I didn't
>> get it right first time when I worked on the regex module
>> (I think that what I have on PyPI is my _third_ attempt!).
>
> Well thanks for admitting you are not perfect. I know i am
> not. We all had to start somewhere and anyone who believes
> he knows everything is most assuredly a fool. Learning is
> a perpetual process, same for software evolution.
>
>> > You want to gain my respect? Then start engaging in honest
>> > debates. Start admitting that yes, somethings about Python
>> > are not only undesirable, they're just plain wrong.
>> Python isn't perfect, but then no language is perfect.
>> There will always be compromises, and the need to maintain
>> backwards compatibility means that we're stuck with some
>> "mis-features", but I think it's still worth using; I
>> still much prefer it to other languages.
>
> I understand. We can't break backwards compatibility for
> everything, even breaking it for some large flaws could
> cause a fatal abandonment of the language by long time
> users.
>
> I just don't understand why i get so much hostility when i
> present the flaws for discussion. Part of my intention is to
> air the flaw, both for new users and old users, but a larger
> intention is to discover the validity of my, or others,
> possible solutions.
>
The problem is in _how_ you do it, namely, very confrontationally.
You call yourself "RantingRick". People don't like ranting!

Instead of saying "This is obviously a flaw, and you're a fool if you
don't agree", you should say "IMHO, this is a flaw, and this is how I
think it could be fixed". Then, if someone points out a problem in your
suggested fix, you can say "OK, I see your point, I'll try to see
whether I can think of a way around that". Etc.

> And even if that solution involves a fork, that is not a bad
> thing. Creating a new fork and then garnering an acceptance
> of the new spinoff would lead to at worse, a waste of time
> and a huge learning experience, or at best, an evolution of
> the language.
>
>> > Stop calling me a troll when i am not. And not just me, stop
>> > calling other people trolls too! Stop using the personal
>> > attacks and straw man arguments.
>
> Sorry. I failed to explain that this statement was meant not
> directly for you but as a general statement to all members.
> Sometimes i feel like my back is against the wall and i'm
> fighting several foes at once. That can lead to me getting
> defensive.
>

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Default Value Ahmed Abdulshafy <abdulshafy@gmail.com> - 2013-06-19 12:17 -0700
  Re: Default Value Jussi Piitulainen <jpiitula@ling.helsinki.fi> - 2013-06-19 22:35 +0300
  Re: Default Value Rick Johnson <rantingrickjohnson@gmail.com> - 2013-06-19 12:38 -0700
    Re: Default Value rusi <rustompmody@gmail.com> - 2013-06-20 05:57 -0700
      Re: Default Value Roy Smith <roy@panix.com> - 2013-06-20 09:19 -0400
        Re: Default Value rusi <rustompmody@gmail.com> - 2013-06-20 06:31 -0700
        Re: Default Value Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-06-21 00:17 +0000
          Re: Default Value Roy Smith <roy@panix.com> - 2013-06-20 20:25 -0400
      Re: Default Value Rick Johnson <rantingrickjohnson@gmail.com> - 2013-06-20 07:49 -0700
        Re: Default Value Chris Angelico <rosuav@gmail.com> - 2013-06-21 01:38 +1000
          Re: Default Value Rick Johnson <rantingrickjohnson@gmail.com> - 2013-06-20 11:05 -0700
            Re: Default Value Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-06-21 00:57 +0000
              Re: Default Value Rick Johnson <rantingrickjohnson@gmail.com> - 2013-06-20 20:16 -0700
                Re: Default Value Chris Angelico <rosuav@gmail.com> - 2013-06-21 17:10 +1000
                Re: Default Value Rick Johnson <rantingrickjohnson@gmail.com> - 2013-06-21 07:32 -0700
                Re: Default Value Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-06-21 16:22 +0000
            Re: Default Value Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-06-21 15:57 +0000
              Re: Default Value Rick Johnson <rantingrickjohnson@gmail.com> - 2013-06-21 10:01 -0700
                Re: Default Value Rotwang <sg552@hotmail.co.uk> - 2013-06-21 18:47 +0100
                Re: Default Value Rick Johnson <rantingrickjohnson@gmail.com> - 2013-06-21 11:26 -0700
                Re: Default Value Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-06-21 18:37 +0000
                Re: Default Value Rick Johnson <rantingrickjohnson@gmail.com> - 2013-06-21 12:18 -0700
                Re: Default Value Rick Johnson <rantingrickjohnson@gmail.com> - 2013-06-21 12:35 -0700
                Re: Default Value Chris Angelico <rosuav@gmail.com> - 2013-06-22 05:07 +1000
                Re: Default Value Neil Cerutti <neilc@norwich.edu> - 2013-06-21 19:20 +0000
                Re: Default Value Rick Johnson <rantingrickjohnson@gmail.com> - 2013-06-21 13:27 -0700
                Re: Default Value Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-06-22 01:31 +0000
                Re: Default Value Chris Angelico <rosuav@gmail.com> - 2013-06-22 11:40 +1000
                Re: Default Value Rick Johnson <rantingrickjohnson@gmail.com> - 2013-06-21 18:42 -0700
                Re: Default Value MRAB <python@mrabarnett.plus.com> - 2013-06-22 03:04 +0100
                Re: Default Value Rick Johnson <rantingrickjohnson@gmail.com> - 2013-06-21 19:32 -0700
                Re: Default Value MRAB <python@mrabarnett.plus.com> - 2013-06-22 20:36 +0100
                Re: Default Value Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2013-06-22 18:51 -0400
                Re: Default Value rusi <rustompmody@gmail.com> - 2013-06-21 19:43 -0700
                Re: Default Value Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-06-22 09:26 +0100
                Re: Default Value MRAB <python@mrabarnett.plus.com> - 2013-06-21 20:25 +0100
                Re: Default Value Rick Johnson <rantingrickjohnson@gmail.com> - 2013-06-21 13:44 -0700
                Re: Default Value MRAB <python@mrabarnett.plus.com> - 2013-06-21 23:49 +0100
                Re: Default Value Rick Johnson <rantingrickjohnson@gmail.com> - 2013-06-21 16:51 -0700
                Re: Default Value MRAB <python@mrabarnett.plus.com> - 2013-06-22 02:54 +0100
                Re: Default Value Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-06-22 01:15 +0000
                Re: Default Value Ian Kelly <ian.g.kelly@gmail.com> - 2013-06-21 19:27 -0600
                Re: Default Value rusi <rustompmody@gmail.com> - 2013-06-21 19:32 -0700
                Re: Default Value Rick Johnson <rantingrickjohnson@gmail.com> - 2013-06-21 19:55 -0700
                Re: Default Value rusi <rustompmody@gmail.com> - 2013-06-21 23:23 -0700
                Re: Default Value Rick Johnson <rantingrickjohnson@gmail.com> - 2013-06-22 08:07 -0700
                Re: Default Value rusi <rustompmody@gmail.com> - 2013-06-22 08:31 -0700
                Re: Default Value rusi <rustompmody@gmail.com> - 2013-06-22 09:11 -0700
                Re: Default Value Grant Edwards <invalid@invalid.invalid> - 2013-06-24 14:22 +0000
                Re: [SPAM] Re: Default Value MRAB <python@mrabarnett.plus.com> - 2013-06-24 16:22 +0100
                Re: Default Value Chris Angelico <rosuav@gmail.com> - 2013-06-22 11:41 +1000
                Re: Default Value Michael Torrie <torriem@gmail.com> - 2013-06-21 20:46 -0600
                Re: Default Value Antoon Pardon <antoon.pardon@rece.vub.ac.be> - 2013-06-22 16:40 +0200
                Re: Default Value Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2013-06-22 12:49 -0400
                Re: Default Value Ian Kelly <ian.g.kelly@gmail.com> - 2013-06-22 12:57 -0600
                Re: Default Value Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2013-06-22 18:48 -0400
                Re: Default Value Rotwang <sg552@hotmail.co.uk> - 2013-06-22 00:40 +0100
                Re: Default Value Rick Johnson <rantingrickjohnson@gmail.com> - 2013-06-21 18:15 -0700
                Re: Default Value Chris Angelico <rosuav@gmail.com> - 2013-06-22 11:37 +1000
                Re: Default Value Ian Kelly <ian.g.kelly@gmail.com> - 2013-06-21 19:42 -0600
                Re: Default Value Ian Kelly <ian.g.kelly@gmail.com> - 2013-06-21 19:38 -0600
                Re: Default Value Rick Johnson <rantingrickjohnson@gmail.com> - 2013-06-21 19:40 -0700
                Re: Default Value Rotwang <sg552@hotmail.co.uk> - 2013-06-22 03:01 +0100
                Re: Default Value Chris Angelico <rosuav@gmail.com> - 2013-06-22 12:18 +1000
                Re: Default Value Rotwang <sg552@hotmail.co.uk> - 2013-06-22 03:25 +0100
                Re: Default Value Rotwang <sg552@hotmail.co.uk> - 2013-06-22 18:19 +0100
                Re: Default Value Rick Johnson <rantingrickjohnson@gmail.com> - 2013-06-22 11:49 -0700
                Re: Default Value Rotwang <sg552@hotmail.co.uk> - 2013-06-23 01:49 +0100
        Re: Default Value rusi <rustompmody@gmail.com> - 2013-06-20 10:12 -0700
          Re: Default Value Chris Angelico <rosuav@gmail.com> - 2013-06-21 03:19 +1000
            Re: Default Value rusi <rustompmody@gmail.com> - 2013-06-20 10:30 -0700
          Re: Default Value Ian Kelly <ian.g.kelly@gmail.com> - 2013-06-20 11:57 -0600
            Re: Default Value rusi <rustompmody@gmail.com> - 2013-06-20 11:15 -0700
            Re: Default Value Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-06-21 01:08 +0000
              Re: Default Value Tim Chase <python.list@tim.thechases.com> - 2013-06-20 20:26 -0500
                Re: Default Value Roy Smith <roy@panix.com> - 2013-06-20 21:40 -0400
                Re: Default Value Tim Chase <python.list@tim.thechases.com> - 2013-06-20 21:02 -0500
          Re: Default Value Rick Johnson <rantingrickjohnson@gmail.com> - 2013-06-20 11:07 -0700
            Re: Default Value alex23 <wuwei23@gmail.com> - 2013-06-21 10:55 +1000
          Re: Default Value 88888 Dihedral <dihedral88888@gmail.com> - 2013-06-20 19:18 -0700
          Re: Default Value Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-06-21 02:26 +0000
          Re: Default Value "Lefavor, Matthew (GSFC-582.0)[MICROTEL LLC]" <matthew.lefavor@nasa.gov> - 2013-06-20 17:28 -0500
            Re: Default Value Rick Johnson <rantingrickjohnson@gmail.com> - 2013-06-21 08:17 -0700
        Re: Default Value Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-06-21 01:28 +0000
  Re: Default Value Gary Herron <gherron@digipen.edu> - 2013-06-19 12:57 -0700
  Re: Default Value Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-06-20 01:17 +0000

csiph-web