Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.020 X-Spam-Evidence: '*H*': 0.96; '*S*': 0.00; 'python,': 0.02; 'static': 0.04; 'compiler': 0.07; 'variables': 0.07; 'subject: [': 0.09; 'cc:addr:python-list': 0.11; 'python': 0.11; 'benefit.': 0.16; 'enough.': 0.16; 'inability': 0.16; 'subject:"]': 0.16; 'to:addr:pearwood.info': 0.16; 'to:addr:steve+comp.lang.python': 0.16; "to:name:steven d'aprano": 0.16; 'all.': 0.16; 'language': 0.16; 'obviously': 0.18; 'trying': 0.19; 'programming': 0.22; 'manual': 0.22; 'cc:addr:python.org': 0.22; 'effort.': 0.24; 'example.': 0.24; 'subject:problem': 0.24; 'cc:2**0': 0.24; 'cc:no real name:2**0': 0.24; 'post': 0.26; 'header:In-Reply-To:1': 0.27; 'idea': 0.28; 'function': 0.29; 'message-id:@mail.gmail.com': 0.30; 'along': 0.30; "i'm": 0.30; 'went': 0.31; 'towards': 0.31; 'url:wiki': 0.31; 'closer': 0.31; 'says': 0.33; 'checking': 0.33; 'subject:with': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'there': 0.35; 'machine.': 0.36; "i'll": 0.36; 'wrong': 0.37; 'generic': 0.38; 'whatever': 0.38; 'fact': 0.38; 'little': 0.38; 'enough': 0.39; 'even': 0.60; 'easy': 0.60; 'is.': 0.60; 'then,': 0.60; 'tell': 0.60; 'conversion': 0.61; 'lost': 0.61; 'refer': 0.63; 'subject:The': 0.64; 'god': 0.65; 'p.s.': 0.66; 'due': 0.66; 'close': 0.67; 'believe': 0.68; 'benefit': 0.68; 'everything,': 0.84; 'father': 0.84; 'nice,': 0.84; 'lazy': 0.91; 'washington': 0.93 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=jzJ/oAm2R350HYShOOtkIZpDU++s37JyjbgHlirJD2I=; b=VcFOPBr4jfCMMjpcrS7ft439Ts6LtCWNf2aX/Yrnih5mG6rLiNZ4NUWLALJ3ra3AVj 3iy54elGwWjK5JPZsNzeLpqFBHPM1ANKmK6jlZAEx70RBHRr2sv9kFd+X9sS8QyGFsyn I1xT5SXkVAprsDv4N4IiMQTqBrXpQ3vF5m3ViFcUeR9GLz4bWQ9CUoCnABNb4U4/WnZT vpoWiTEYUQDLRLoEZMOGyY6AiQdn1meqidBeqRAXZrtH8YraW+SZZ92N0DQ5GJGMjIE7 X9gkmZKeuD7giqbGuAGIH81EbFg9XkI9GSZy9mv1GgslOwaHdu+zZiFH7U3knbdiqk4d 23Kg== MIME-Version: 1.0 X-Received: by 10.194.118.132 with SMTP id km4mr1804112wjb.82.1370541595760; Thu, 06 Jun 2013 10:59:55 -0700 (PDT) In-Reply-To: <51b0565d$0$11118$c3e8da3@news.astraweb.com> References: <687dea63-84da-4c45-9366-cb5a10665d1f@googlegroups.com> <51ab95d5$0$29966$c3e8da3$5496439d@news.astraweb.com> <51ad7daf$0$11118$c3e8da3@news.astraweb.com> <31ca14e1-973d-44e6-886c-011a55755d76@googlegroups.com> <96cd7a31-40ce-4e51-9489-446b7f002a0e@googlegroups.com> <51afec46$0$29966$c3e8da3$5496439d@news.astraweb.com> <51b0565d$0$11118$c3e8da3@news.astraweb.com> Date: Thu, 6 Jun 2013 10:59:55 -0700 Subject: Re: Bools and explicitness [was Re: PyWart: The problem with "print"] From: Mark Janssen To: "Steven D'Aprano" Content-Type: text/plain; charset=ISO-8859-1 Cc: python-list@python.org 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: 31 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1370541596 news.xs4all.nl 15966 [2001:888:2000:d::a6]:51200 X-Complaints-To: abuse@xs4all.nl Path: csiph.com!usenet.pasdenom.info!news.stben.net!border3.nntp.ams.giganews.com!border1.nntp.ams.giganews.com!nntp.giganews.com!newsfeed.xs4all.nl!newsfeed4.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Xref: csiph.com comp.lang.python:47248 > Whatever benefit there is in declaring the type of a function is lost due > to the inability to duck-type or program to an interface. There's no type > that says "any object with a 'next' method", for example. And having to > declare local variables is a PITA with little benefit. > > Give me a language with type inference, and a nice, easy way to keep duck- > typing, and I'll reconsider. But until then, I don't believe the benefit > of static types comes even close to paying for the extra effort. Okay, I'm going straighten out you foo(l)s once and for all. Python has seduced us all into lazy typing. That's what it is. Manual type checking is obviously inferior to compiler type-checking. This is what I was trying to tell you all with the post of re-vamping the Object model. Python, and I along with it, went towards this idea of a grand god Object that is the father of everything, but it turned out to be the wrong direction. Refer to my post on OOPv2. The fact is, that none of us is close enough to God and the programming art isn't evolved enough to try to accomplish some grand generic object at the top of the ObjectModel. It just isn't. We were better off closer to the machine. Automatic conversion from int to long was good enough. -- MarkJ Tacoma, Washington P.S. See also PythonThreeThousand on wikiwikiweb