Path: csiph.com!usenet.pasdenom.info!gegeweb.org!usenet-fr.net!nerim.net!novso.com!newsfeed.xs4all.nl!newsfeed1a.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.000 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'python.': 0.02; 'programmer': 0.03; 'languages.': 0.04; 'beginner': 0.05; 'latter': 0.09; 'received:80.91': 0.09; 'received:80.91.229': 0.09; 'received:gmane.org': 0.09; 'received:list': 0.09; 'references.': 0.09; 'yeah,': 0.09; 'python': 0.11; 'mostly': 0.14; 'thread': 0.14; 'objects.': 0.16; 'received:80.91.229.3': 0.16; 'received:plane.gmane.org': 0.16; 'too?': 0.16; 'undo': 0.16; 'language': 0.16; 'wrote:': 0.18; 'programming': 0.22; 'header:User-Agent:1': 0.23; 'received:comcast.net': 0.24; 'earlier': 0.24; 'references': 0.26; 'values': 0.27; 'header:X -Complaints-To:1': 0.27; 'header:In-Reply-To:1': 0.27; 'tried': 0.27; 'point': 0.28; 'correct': 0.29; 'chris': 0.29; '[1]': 0.29; "doesn't": 0.30; 'said,': 0.30; 'statement': 0.30; 'subject:list': 0.30; 'this.': 0.32; 'handled': 0.32; 'languages': 0.32; 'beginning': 0.33; 'not.': 0.33; 'trouble': 0.34; 'objects': 0.35; 'but': 0.35; 'really': 0.36; 'much.': 0.36; 'object,': 0.36; 'useful': 0.36; 'so,': 0.37; 'sometimes': 0.38; 'ben': 0.38; 'to:addr:python-list': 0.38; 'pm,': 0.38; 'does': 0.39; 'to:addr:python.org': 0.39; 'received:org': 0.40; 'new': 0.61; 'kind': 0.63; 'spot': 0.65; 'between': 0.67; 'believe': 0.68; 'everything,': 0.84; 'only...': 0.84; 'mistakenly': 0.91 X-Injected-Via-Gmane: http://gmane.org/ To: python-list@python.org From: Ned Batchelder Subject: Re: Explanation of list reference Date: Sun, 16 Feb 2014 20:43:46 -0500 References: <13208de8-0f85-4e60-b059-dc087c8fda41@googlegroups.com> <52fefccc$0$29973$c3e8da3$5496439d@news.astraweb.com> <52ff0dc5$0$29973$c3e8da3$5496439d@news.astraweb.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Gmane-NNTP-Posting-Host: c-50-133-228-126.hsd1.ma.comcast.net User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Thunderbird/24.3.0 In-Reply-To: X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 37 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1392601440 news.xs4all.nl 2843 [2001:888:2000:d::a6]:52848 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:66576 On 2/16/14 5:54 PM, Gregory Ewing wrote: > Chris Angelico wrote: >> Because everything in Python is an object, and objects always are >> handled by their references. > > So, we have objects... and we have > references to objects... but everything is an object... > so does that mean references are objects too? > > > This is the kind of trouble you get into when you make > a statement of the form "everything is an X"[1]. When > we say "everything is an object", we don't literally > mean everything, only... well, those things that *are* > objects. Which doesn't really help the beginner much. > > [1] Mathematicians tried this. "Everything is a set!" > Yeah, right... > The correct statement is "all values are objects", or "all data is objects". When people mistakenly say "everything is an object", they are implicitly only thinking about data. That said, "all data is objects" is really mostly useful in contrast to other languages where some data is objects and some is not. I think Ben Finney's point from nearby in this thread is spot on: there's a huge difference between a beginning programmer and an experienced programmer new to Python. The latter category is sometimes the harder to teach, because you have to undo the things they learned about their earlier language X, but which they mistakenly believe to be true about all programming languages. -- Ned Batchelder, http://nedbatchelder.com