Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: Random832 Newsgroups: comp.lang.python Subject: Re: I'm wrong or Will we fix the ducks limp? Date: Mon, 06 Jun 2016 17:13:01 -0400 Lines: 60 Message-ID: References: <87mvn22veg.fsf@rudin.co.uk> <13108bea-6750-443b-bee8-0532aba8b338@googlegroups.com> <5753c89b$0$1616$c3e8da3$5496439d@news.astraweb.com> <1465148542.2670061.628500777.62F1EFE1@webmail.messagingengine.com> <5754f36b$0$1619$c3e8da3$5496439d@news.astraweb.com> <5755a2a5$0$1611$c3e8da3$5496439d@news.astraweb.com> <1465232248.1109132.629464689.31293D92@webmail.messagingengine.com> <5755c809$0$1622$c3e8da3$5496439d@news.astraweb.com> <1465247581.1161240.629720825.10FE129E@webmail.messagingengine.com> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Trace: news.uni-berlin.de di1JqKGVLGYSncveQ34ergnJ1emgi+fKIZd4TMM14Cqw== Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.004 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; 'model,': 0.05; 'assignment': 0.07; 'attributes': 0.07; 'dynamically': 0.07; 'differently.': 0.09; 'none.': 0.09; 'received:internal': 0.09; 'references,': 0.09; 'argument': 0.15; 'variables': 0.15; '"none"': 0.16; '"some': 0.16; '"to': 0.16; 'accuse': 0.16; 'cons': 0.16; 'lisp,': 0.16; 'message- id:@webmail.messagingengine.com': 0.16; 'pointers,': 0.16; 'received:10.202': 0.16; 'received:10.202.2': 0.16; 'received:66.111': 0.16; 'received:66.111.4': 0.16; 'received:io': 0.16; 'received:messagingengine.com': 0.16; 'received:psf.io': 0.16; 'well-known': 0.16; 'wooden': 0.16; 'wrote:': 0.16; 'copied': 0.18; 'variable': 0.18; 'all,': 0.20; 'keys': 0.22; 'pascal': 0.22; 'programming': 0.22; 'references': 0.23; 'header :In-Reply-To:1': 0.24; 'all.': 0.24; 'discussion': 0.24; 'mon,': 0.24; 'sense': 0.26; 'helpful': 0.27; 'separate': 0.27; 'locations': 0.27; 'values': 0.28; 'dictionary': 0.29; 'thread,': 0.29; 'ago': 0.29; 'objects': 0.29; 'fixed': 0.31; 'everyone': 0.31; 'post': 0.31; '"the': 0.32; 'continuing': 0.32; "d'aprano": 0.33; 'emerging': 0.33; 'steven': 0.33; 'list': 0.34; 'could': 0.35; 'something': 0.35; 'community': 0.36; 'but': 0.36; 'to:addr :python-list': 0.36; 'subject:?': 0.36; 'subject:: ': 0.37; 'received:10': 0.37; 'two': 0.37; 'being': 0.37; 'say': 0.37; 'received:66': 0.38; 'version': 0.38; 'mean': 0.38; 'represent': 0.38; 'google': 0.39; 'does': 0.39; 'subject:the': 0.39; 'to:addr:python.org': 0.40; 'where': 0.40; 'called': 0.40; 'some': 0.40; 'him': 0.60; 'your': 0.60; 'header:Message-Id:1': 0.61; 'is.': 0.63; 'needing': 0.63; 'more': 0.63; 'different': 0.63; 'you.': 0.64; 'between': 0.65; "they're": 0.66; 'reply': 0.68; 'special': 0.73; "'yes": 0.84; 'boxes.': 0.84; 'examples.': 0.84; 'metaphor': 0.84; 'python-': 0.84; 'absolutely': 0.88; 'boxes,': 0.91; 'tied': 0.93 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=fastmail.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-sasl-enc :x-sasl-enc; s=mesmtp; bh=T7Tru45P6+gTDqlGZ0ypaoxFvGc=; b=ZGQTBM JGOXvEOoe6xry2mdq4uGx66euIYfcATodsvCsYKkfw+feeh3Ds0abFIqacNrZncY 4rcoOpgxf+3/rFU+X37leIxd1+28fKDvrUTOYF28Fx2zi1pHqQ5LX66dVP+S3hwL FD+qMXHmmZRWTbQZltlbAlOCuWVkVWu6hNXC0= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-sasl-enc:x-sasl-enc; s=smtpout; bh=T7Tru45P6+gTDql GZ0ypaoxFvGc=; b=rPCAC/KS6Kyhg6LMGamVOrxnniPoBnUhEcmV1iG2Ph2q1Gw rOpYVymExEa2k403UWLMVYihjCJ2c0kKY/+0muFSOugH7E4xCsS6kQpHD52tQQNA cLJwvxo5iUmELFBOtW659LY/y47PnsYM+8mHkO2NQ+o5STYBaRQEuUuH+7pw= X-Sasl-Enc: LQ0C8xcQc7Xk4uPJfxcp0+OwiVv9QWO3DWOwhEm4x5Ok 1465247581 X-Mailer: MessagingEngine.com Webmail Interface - ajax-7f2506ab In-Reply-To: <5755c809$0$1622$c3e8da3$5496439d@news.astraweb.com> X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: <1465247581.1161240.629720825.10FE129E@webmail.messagingengine.com> X-Mailman-Original-References: <87mvn22veg.fsf@rudin.co.uk> <13108bea-6750-443b-bee8-0532aba8b338@googlegroups.com> <5753c89b$0$1616$c3e8da3$5496439d@news.astraweb.com> <1465148542.2670061.628500777.62F1EFE1@webmail.messagingengine.com> <5754f36b$0$1619$c3e8da3$5496439d@news.astraweb.com> <5755a2a5$0$1611$c3e8da3$5496439d@news.astraweb.com> <1465232248.1109132.629464689.31293D92@webmail.messagingengine.com> <5755c809$0$1622$c3e8da3$5496439d@news.astraweb.com> Xref: csiph.com comp.lang.python:109593 On Mon, Jun 6, 2016, at 14:59, Steven D'Aprano wrote: > "Variables as boxes" is a long-standing, well-known metaphor for the C > and > Pascal variable model, one where the value is copied into the box > (metaphorically), or to be more precise, where variables have fixed > locations and on assignment values are copied to that location. I don't think that's "to be more precise" at all. I think that is an entirely different model. The box metaphor as I understand it involves a lot of boxes, which may contain arrows (call them pointers, references, or whatever) emerging from them pointing to other boxes, which are all free-floating with no implication that any of them are fixed locations or are not dynamically allocated. The most classic use of it, after all, is for Lisp, in which two boxes glued together represent a cons cell, something absolutely nobody would accuse of having a fixed location. Google "lisp box diagram" for any number of examples. What does a diagram of *your* "variables as boxes" model look like? > The broader programming community Between this and the argument about "constructor" terminology, clearly you and I see "the broader programming community" very differently. > understands "variables as boxes" to mean fixed size boxes in fixed > locations with assignment-as-copying, as used by C and Pascal. I don't > think it is helpful for you to invent your own metaphor of Python- > style variables being boxes. > > (if you prefer Marko's analogy, "Some puppies hold leashes in > > their mouths"). > > I don't know what Marko's analogy is. Puppies with leashes? What? It was a couple days ago in this thread, in a reply to a post by you. On Sun, Jun 5, 2016, at 04:01, Marko Rauhamaa wrote: M> You could also think of variables as pegs, references as leashes, and M> objects as cute puppies. One puppy could be held with multiple leashes M> hung on separate pegs. Some puppies hold leashes in their mouths. Every M> leash is tied to a puppy or a special wooden post called None. (I disagreed with him on "None" needing to be a special wooden post for the analogy to work) R> > Attributes and list items and dictionary keys and values R> > are also boxes. S> S> They're not boxes in the sense of the "variables are boxes" model. I would say 'yes they are', but clearly *your* "broader programming community's" version of the ""variables are boxes" model" is different from everyone else's. I don't think continuing this discussion is likely to be productive.