Path: csiph.com!usenet.pasdenom.info!weretis.net!feeder1.news.weretis.net!news1.tnib.de!feed.news.tnib.de!news.tnib.de!newsfeed.freenet.ag!news2.euro.net!newsgate.cistron.nl!newsgate.news.xs4all.nl!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.022 X-Spam-Evidence: '*H*': 0.96; '*S*': 0.00; 'subject:: [': 0.04; 'anyway.': 0.05; 'c++,': 0.07; 'oop': 0.09; 'python': 0.11; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'optional.': 0.16; 'roy': 0.16; 'subject: \n ': 0.16; 'subject:OOP': 0.16; 'subject:object': 0.16; 'subject:possible': 0.16; 'subject:programming': 0.16; 'subject:type': 0.16; 'wrote:': 0.18; 'subject:] ': 0.20; "i've": 0.25; 'subject:/': 0.26; 'header :In-Reply-To:1': 0.27; 'programming.': 0.30; 'message- id:@mail.gmail.com': 0.30; "i'm": 0.30; 'public.': 0.31; 'struct': 0.31; 'class': 0.32; 'run': 0.32; 'quite': 0.32; 'fri,': 0.33; 'received:209.85': 0.35; 'received:209.85.220': 0.35; 'received:google.com': 0.35; 'c++': 0.36; 'doing': 0.36; 'example,': 0.37; 'received:209': 0.37; 'to:addr:python-list': 0.38; 'pm,': 0.38; 'that,': 0.38; 'to:addr:python.org': 0.39; 'even': 0.60; 'truly': 0.60; 'subject:The': 0.64; 'talking': 0.65; 'smith': 0.68; 'fact,': 0.69; 'carefully': 0.74; 'funny': 0.74; 'gotten': 0.74; "else's": 0.84; 'notion': 0.91; '2013': 0.98 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:content-type; bh=Hvl1aeo4CRCaSKhzWgCw95ZcGktYaosiNx2y0abC/Rc=; b=G9ibU1EvTpawoYHXFFJrXNPu/NmT6zD9N7bmjNUPxcSaMNeWQ2nPaOmEu4rOYLaS/W OGeThXpMrXN5q8j7XcZwLq6xTkAG8MzO4iXpKA4/+nLIwmTGNiOojEPnnR3LYufBmGDJ EamncS2lAS6wVSgK37BVOZPMNhpm9aygoeJcAKjV6AkA2qMDqrnjk7WnUbbxaNDEPFPX WW6RmqDWZPWfM8gzU5q4zkrhGWgS6pKxvnca+uJ8jNpsHHmGivomXVFanWrdxW8S36KC cPJqnpawXRZ6d4IvlWI+Qb3ZRTkJV8ogdkc3CVRa+eobmO+7EaWSmp9HpJ6nFWgIX3j7 FZdw== MIME-Version: 1.0 X-Received: by 10.220.88.145 with SMTP id a17mr11456221vcm.66.1366378381807; Fri, 19 Apr 2013 06:33:01 -0700 (PDT) In-Reply-To: References: <20846.27580.375000.899631@gargle.gargle.HOWL> <516EB4D1.1020103@ifi.lmu.de> <517131cd$0$29977$c3e8da3$5496439d@news.astraweb.com> Date: Fri, 19 Apr 2013 23:33:01 +1000 Subject: Re: [TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages From: Chris Angelico To: python-list@python.org Content-Type: text/plain; charset=ISO-8859-1 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: 15 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1366378385 news.xs4all.nl 2216 [2001:888:2000:d::a6]:48159 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:43898 On Fri, Apr 19, 2013 at 11:07 PM, Roy Smith wrote: > I was indeed talking about the ways people think about programming. For > example, OOP in C++ is very much about encapsulation. People declare > all data private, and writing setter/getter functions which carefully > control what access outside entities have to your data. The funny thing about that notion is that, even in C++, it's completely optional. I've subclassed someone else's class using a struct and just left everything public. In fact, I've gotten so used to the Python way of doing things that now I'm quite happy to run everything public anyway. Is OOP truly about X if X is optional? ChrisA