Modifying the {} and [] tokens

Terry Reedy tjreedy at udel.edu
Sun Aug 24 01:16:50 CEST 2003


"Geoff Howland" <ghowland at lupineNO.SPAMgames.com> wrote in message
news:veefkvs764jl56ub2b0bt4cn4lekcv0mhf at 4ax.com...
> On Sat, 23 Aug 2003 21:56:08 +0300, Christos "TZOTZIOY" Georgiou
> <tzot at sil-tec.gr> wrote:
>
> >>>[snip of python's by design inability to modify the base C types:
dict,
> >>>str,  list etc]
> >>
> >>This post begins to read as an insult here, and continues.  My
> >>incredible gall at thinking something may be better if it was
changed
> >>and wanting to try it!  I should be pelted with rocks for speaking
the
> >>name Jehova.
> >
> >I am sorry, Geoff, but I can't understand how you perceived my post
as
> >insulting.  If I did understand a way, I would apologise.  I just
> >snipped stuff in order to make my post shorter, according to
netiquette.
> >How can the phrase inside the brackets seem insulting to you?
Geoff,
> >please justify your clause, and I will gladly apologise.
>
> If you didn't mean it as insulting, than I am very sorry for taking
it
> so and responding in the way I did.
>
> I saw it as I was being told that I am ignoring the good design
> philosophies of Python, and as such I should move on to another
> language.  I have been told exactly this thing before (without being
> mistaking) so I suppose I am more sensitive to it than I would have
> been had I not had it said before.
>
> Sorry for misunderstanding you and becoming upset about it.  :)
>
> >>Is this really the way this group is going to continue?
> >
> >I don't know, I can speak for myself only.  How many people have
> >responded to you this "way" to make you wonder about the whole
group?
>
> Maybe 2 here, to more or lesser degrees.  Probably about 5 times on
> python IRC channels.
>
> >>Why?  I respect Guidos decsions, Python needs a strong leader to
make
> >>them and it got where it is (great language) by having him and the
> >>rest of the community help out in this regard.
> >
> >This is the deal, indeed; for example, I would enjoy very much
generator
> >comprehensions in the language, and yet they were rejected.
>
> Exactly, and as long as it's ok to bring them up, then all is well.
I
> was just feeling like I was being rebuked for doing so.  In
> retrospect, I probably should have just not responded at all to the
> thread portion that I felt that way about, as other people were
giving
> me answers I thought were completely even.
>
> I do appreciate Python's design decisions.  It's what keeps it from
> becomming the things I dont like about Perl, where that does not
seem
> to be the case.  However, I still like having the rope to shoot
myself
> in the foot if I so desire, but if it doesnt exist I'll get by
without
> it.  :)
>
> >>Is now no one allowed to say "hey, I think this should be done,
and
> >>I'd like to make it happen to give it a try"?  It's not like if it
> >>becomes a problem it couldn't be reverted and lesson learned
right?
> >>Programming is ABOUT experimentation, not dogmatic obedience.
> >
> >My reply came to your specific feature request, ie Python allowing
you
> >to modify the base types; your asking if *any* feature request is
> >disallowed is not justified.  I consider your question similar to
the
> >following dialog:
> >
> >- Can I have cherry pie with my meal?
> >- No, because the cook has decided it does not match with your
meal,
> >which is fish.
> >- So no one is allowed to ask for dessert here?
>
> Well, this was because I took your post as hostility.  I'm not sure
I
> was out there in interpretting this way, as usually telling someone
to
> "go somewhere else" when they inquire about things is meant that
way.
>
> >I believe that the symbolism is childish, and this indeed you might
find
> >it insulting, although it isn't.  I am not as fluent in English as
I
> >would like, so this is my way to express the general feeling I got
from
> >your reply; I call it "black-and-white", or "ping-pong", lacking a
> >better English word, and describes a two-way communication where a
> >disagreement on the one side is perceived magnified as total
rejection
> >on the other side.
>
> Im fine with the things being one way or another, no problems at all
> with it.  I understand why base types arent allowed to be modified,
> cause while you could do it without damaing things, it would be a
lot
> more likely that things would be damaged over time and you might
never
> know you're including a module that changes behavior.  It makes
sense.
>
> That doesn't mean it wouldnt be useful, which is why I was
inquiring.
> If it was possible, I'd probably do it because of it's usefulness.
If
> it became a problem later, I could correct that.  I am flexible that
> way, it is probably a good thing Guido and the Python community that
> helps design Python is not.  Checks and balances.
>
> As long as it's still ok to inquire.
>
> I think the last thing that was really brought up in this "how dare
> you" type style was someone inquiring about protecting their code
from
> people reading it.  Some people near-flamed the guy for asking how
to
> do this, and I think it is ridiculous.  Everyone has their own
> purposes for tools, so my ire was up.  :)
>
> >>>I really don't mind subclassing base types and using MyDict()
instead of
> >>>{}.  I want to be able to make my own APIs (MyDict.update *could*
blow
> >>>whistles and roll twice on the floor before resetting the
machine), but
> >>>I also want a steady and well-known API for base types
(dict.update
> >>>*should* update a dictionary from another one).
> >>
> >>Why should it matter what you mind?  It's my code.
> >
> >What should it matter what you mind then?  It's Guido's language.
> >Either we both are allowed to say our minds, or not.  My opinion is
as
> >important as yours.  Keep that in mind, please.
>
> Sure, but you were answering a question and saying "no" based on
your
> opinions.  That's tangential to the question, which is that I want
to
> do something.  That it's not possible is topical.  That
> Guido/PythonLabs doesnt approve is topical, in the sense of a style
> guide.  That you don't approve is topical on an advice level, but
not
> on a "how do I do this" level.
>
> Thats my view of it, and since I was thinking you were saying I
should
> "move on to another language for not liking everything exactly as it
> is now", then I took it as a judgement placement, rather than
advise.
>
> Again, my misunderstanding and my appology.
>
> >The fact is, the subject has been brought up in the past, and it
has
> >been skipped.  I am not sure if has been rejected, so you might
have a
> >chance.  If you are as warm about this subject as you seem to be,
write
> >a PEP; my vote will probably be positive.  But Guido is the one to
> >convince, and he listens; my experience so far has shown that he
never
> >replies the way you do, and that is good.
> >
> >This URL should be useful:
> >http://www.python.org/peps/pep-0001.html
>
> I actually wanted to do a proof of concept and try it before writing
a
> PEP.  Cause if it turns out to suck in practice, why bother with the
> PEP?  I think now I would have to change the Python C code in order
to
> try it, and that isnt acceptable to me as I wouldnt be able to
really
> put it into effect in the real world and see if it works.
>
> I'm all for putting in the time to write and push a PEP if I think
> something is really worth it and I have proof in my own eyes.  I'm
> also accepting if it gets rejected because it doesn't fit with the
> language.  So far I haven't gotten to a point where I am confident
> enough about something I think should work a different way to do
this.
> Maybe someday it will happen, maybe it wont.  I'd like to help, but
> dont want to make suggestions that aren't really helpful until I'm
> convinced myself that they are.
>
> >>>With all due respect, Geoff, if this stuff is really important to
you,
> >>>use Ruby.
> >
> >>Yes, throw the heathen into another language.  I'm not good enough
for
> >>this one.
> >
> >Your last statement is unjustified too, and "black-and-white",
assuming
> >hidden meanings in my words.  Geoff, I am picking my words very
> >carefully because I don't want to make you jump to the ceiling with
> >rage.  Please read, don't assume.
>
> The difficulties of reading text.  I showed this message to 2 other
> people, and they also thought it was telling me off instead of just
> explaining something to me.  However, I still appologize for
> misreading your intentions and my response.
>
> >My sentence was a practical (and respectful!) suggestion; Ruby
already
> >has what you want, and you like it, so why not use it, since the
Python
> >community (and Guido most of all) are against such a modification?
Did
> >you do a research in older newsgroup threads before posting?
>
> Yeah, I searched around for about 6 hours before posting this, also
> poking around in different books and the python interpretter.  I
> didn't find this topic covered, but sometimes it's very hard to find
> things with common words like:  python, dict, modification/override,
> etc.
>
> Ruby is a great language, but there are a couple reasons it wont be
> used in this circumstance.  If it was possible and practical, then I
> would use it.
>
> >Don't spend your energy fighting with me (one-side fights: only on
> >USENET :), write a PEP and find good arguments for it.
>
> I dont intend to, I'm glad there was a misunderstanding and sorry I
> misunderstood (hope thats parseable).
>
> Maybe there will be a PEP on this someday, but it'll be harder to do
> without evidence that it works well in the real world first.
>
>
> -Geoff Howland
> http://ludumdare.com/






More information about the Python-list mailing list