Python-URL! - weekly Python news and links (Nov 17)

Gabriel Genellina gagsl-py2 at yahoo.com.ar
Tue Nov 18 02:34:55 EST 2008


En Mon, 17 Nov 2008 23:53:25 -0200, <rurpy at yahoo.com> escribió:
> On Nov 17, 4:06 pm, "Gabriel Genellina" <gagsl-... at yahoo.com.ar>
> wrote:
>> En Mon, 17 Nov 2008 15:44:23 -0200, <rurpy at yahoo.com> escribió:
>>> On Nov 17, 8:54 am, "Gabriel Genellina" <python-... at phaseit.net>
>>> wrote:
>>>>     Candidate to *Longest and Most Boring Thread of the Year* -  
>>>> started
>>>>     more than a month ago, currently discussing "The official  
>>>> definition
>>>>     of call-by-value", and "What't the value of an object":
>>>>         http://groups.google.com/group/comp.lang.python/t/6163956596a8c082/
>>>
>>> Nice.  The Python Reference defines objects, the core concept
>>> of Python, as id, type, and value, and then leaves one clueless
>>> about what a value is, and several notable Python contributors
>>> declare the subject boring.
>>
>>    The C99 language standard does not define what "memory" is, even if  
>> many
>> parts on the language definition rely on how memory actually works. This
>> has not prevented programmers from writing good C code.
>
> Do you really want to compare the C standard to the
> Python Reference in the context of document quality?
> I haven't looked at it in years but my recollection
> is that even 15 years ago it was orders of magnitude
> more detailed and specific than the Python Reference.

Sure it is. Thanks to such details Python can be successfully compiled on  
many platforms. But they still leave some details unspecified, like what  
exactly means "to store a value". You can't specify everything - sometimes  
even on purpose so different implementations are free to choose whichever  
alternative fits best.

> Secondly, "memory", "computer", "electricity" are all
> obviously outside the scope of a language definition.
> The nature of a concept that is the central concept
> in the language is equally obviously in scope.  I am
> amazed at the lengths some people here will go to
> defend problems in Python, even turning them into
> virtues.   Why not just say, "yea, well it needs work
> but <insert favorite apologetics here>"?

Yes, sure. I don't know how old that Python definition of object is (I  
mean, the page that says "identity+type+value"), but in particular, I  
would not have used the term "value" there. "state" is more broadly used,  
and less confusing. The word "value" as used in that generic description  
has a different meaning that the same term as used in "call by value" and  
"the value of an expression".

> Thirdly, the question is not about, "*can* you use it?".
> Obviously people make use of lots of software with much
> worse docs that the Python Docs.  The questions is about
> "is it complete and accurate?", and "can I get the
> information I need to understand/use Python from it
> effectively?"  (Those are not yes/no questions.)

Certainly the docs have to be improved. But some details, although  
refering to fundamental concepts, are not so important in order to  
understand the language or effectively use it.
(Uh, I hate to use another mathematical example). Most people that know  
about trigonometric functions like sin and cos use them without much  
consideration. They exist and are well defined; sin is (oposite  
side)/(hypotenuse) by example. One can do a lot of work in trigonometry  
based on those definitions; and probably *most* work in trigonometry was  
developed before a rigurous definition of the sin function could even be  
expressed. Because the above geometric definition cannot satisfy a  
mathematician: he wants an expression he can work with and study its  
properties (and had to wait until concepts like limit, series, infinite  
were available). But from a practical POV, the naïve geometric definition  
is more than enough to do any useful work.
Back to Python, I think a precise definition of "value" (or better  
"state") isn't required to effectively use the language. The simple  
concept of "whatever information the object carries with itself" should be  
enough to understand it, I presume. And perhaps a few examples explaining  
it would be in order...

>> I don't feel anybody would improve their Python skills chasing what the
>> "value" of an object is, least to make contortions so some arbitrary
>> definition of "call by value" be applicable to the language.
>
> And I feel you're wrong.  The reason I am interested
> in the definition of an object stems from a very early
> experience with Python.  Not fully getting what an
> object was, I decided to write an "examine" function
> to printout everything that could be found out about
> an object.  I printed the id, then all the attributes.
> But they all turned out to be objects so I examine()'d
> them recursively (and quickly discovered the need for
> a depth limit.)  Then I tried to print the 3rd aspect,
> it's value, and ran smack into the issues you find so
> boring.

I'm sure you learned a lot more from your experiments than reading an  
academic and precise definition of "value" in a perfect document...

> Also if you hadn't been so bored and had actually
> read the most recent postings you would have
> discovered I made absolutely no mention at all of
> call-by-anything, let alone tried to contort anything.
> I was *asking* what "value" meant in context of the
> P.L.R. and floating some possible proto-definitions
> based on what I learned.  Sheesh!

Note that the summary was based on all messages posted last week - there  
were three subthreads spawned from the original one, of which I choose to  
mention two. I was not specifically talking about your posts, nor anybody  
in particular.
A little story: A long time ago a friend of mine got a multi effects pedal  
for his guitar. He was really excited showing me his new acquisition.  
"Hear! Hall reverb!" (chord played). "Hear! Church reverb now!" (same  
chord played; more reverb). After hearing a few dozen different settings,  
I didn't care if the damn thing made the most beautiful chorus effect in  
the world: I was just bored to death! And that had nothing to do with his  
playing skills (muuuuch higher than mine, btw!), nor the box.

>> It's a boring
>> topic for *ME* and the above "Most Boring Thread" is just *MY* opinion;  
>> if
>> you or anyone else enjoy the discussion or consider it important in some
>> way, of course you're all free to continue as long as you wish.
>
> Oh come on, that's pretty disingenuous.  The weekly
> Python News is not exactly lil'ole Gabriel posting
> an opinion to c.l.p.  But since it is your opinion,
> I sure you won't mind me responding with mine.

Yes, it *was* just my opinion, like everything else I write. I didn't mean  
to dismiss your posts (or anyone else's) at all. It was just a comment -  
and looks like I'll have to avoid those in the future...

>> BTW, I think some other thread got a few more than 300 posts, so this
>> one -currently at 268- still has a chance to get the first prize as
>> Longest Thread - but you'll have to write hard :)
>
> I had no intention of writing anything else until
> you responded.  Maybe we can do it together!!

Uhm, don't count on my replies to reach the first position! :)

>>> I guess this goes a long way to explaining why the Python docs
>>> suck so badly in many areas.
>>
>>    I don't think so, anyway, I guess the usual reply is "all  
>> contributions
>> are welcome".
>
> One of the reasons I would like to formulate a good
> model of an object's value and type is so that I could
> try to offer something better.  Responses like yours
> are significantly demotivating.

Sorry, that was not the intent at all!!!

-- 
Gabriel Genellina




More information about the Python-list mailing list