Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!news.albasani.net!feeder.news-service.com!newsfeed.xs4all.nl!newsfeed6.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.01; 'bug': 0.02; 'fixes': 0.05; 'terry': 0.07; 'python': 0.07; 'apps,': 0.09; 'received:80.91': 0.09; 'received:80.91.229': 0.09; 'received:80.91.229.12': 0.09; 'received:gmane.org': 0.09; 'received:list': 0.09; 'received:lo.gmane.org': 0.09; 'release.': 0.09; 'subject:method': 0.09; 'interfaces': 0.12; 'am,': 0.14; 'wrote:': 0.14; "'no": 0.16; 'advertised,': 0.16; 'defacto': 0.16; 'reedy': 0.16; 'subject:sort': 0.16; 'holds': 0.16; 'stick': 0.19; 'interface': 0.20; 'jan': 0.22; 'header:In-Reply-To:1': 0.22; 'right,': 0.22; 'oriented': 0.23; 'object': 0.27; 'function': 0.27; 'class': 0.29; 'interface.': 0.29; 'speaking': 0.31; 'to:addr:python-list': 0.32; 'module': 0.33; 'header:X-Complaints- To:1': 0.34; 'change': 0.34; 'there': 0.35; 'header:User-Agent:1': 0.35; 'but': 0.38; 'received:org': 0.38; 'speak': 0.39; 'to:addr:python.org': 0.39; 'header:Mime-Version:1': 0.39; 'takes': 0.40; 'would': 0.40; 'header:Received:5': 0.40; 'design': 0.61; 'analysis': 0.74; 'philosophy,': 0.84; 'sacred': 0.84; 'subject:removal': 0.84; 'father': 0.95 X-Injected-Via-Gmane: http://gmane.org/ To: python-list@python.org From: Terry Reedy Subject: Re: Guido rethinking removal of cmp from sort method Date: Fri, 01 Apr 2011 13:06:03 -0400 References: <4d7cbfcb$0$29971$c3e8da3$5496439d@news.astraweb.com> <4d94326c$0$30003$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: rain.gmane.org User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.15) Gecko/20110303 Lightning/1.0b2 Thunderbird/3.1.9 In-Reply-To: X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.12 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: 27 NNTP-Posting-Host: 82.94.164.166 X-Trace: 1301677576 news.xs4all.nl 32470 [::ffff:82.94.164.166]:52585 X-Complaints-To: abuse@xs4all.nl Xref: x330-a1.tempe.blueboxinc.net comp.lang.python:2375 On 4/1/2011 2:13 AM, harrismh777 wrote: > When I speak of implementation vs interface I am speaking from a > strictly object oriented philosophy, as pedigree, from Grady Booch, whom > I consider to be the father of Object Oriented Analysis and Design > (Booch, OO A&D with apps, 1994). Python is object based but not object oriented in the Booch sense. > The Class interface holds a "special" firmness which fosters the client > relationship of trust and assumption, without which OOA&D is pointless. > The interface of a Class must not change once advertised, and once in > production. This is specific to OOA&D. Right, and Python is not OOA&D based. > Never change an advertised Class interface. In Python, class interfaces are no more sacred than module or function interfaces. If one takes 'no interface change' literally, then Python would have to be frozen. Even bug fixes change a defacto interface. If you want frozon, stick with one particular release. There are lots available. -- Terry Jan Reedy