Path: csiph.com!usenet.pasdenom.info!weretis.net!feeder1.news.weretis.net!feeder.erje.net!eu.feeder.erje.net!newsfeed.xs4all.nl!newsfeed5.news.xs4all.nl!xs4all!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.000 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'python,': 0.02; 'syntax': 0.03; 'say,': 0.05; 'subject:skip:s 10': 0.05; 'python': 0.09; 'added.': 0.09; 'eat': 0.09; 'exceptions,': 0.09; 'solution,': 0.09; 'useless': 0.09; 'cc:addr:python-list': 0.10; 'ignore': 0.13; '"small"': 0.16; 'barrier': 0.16; 'benefit.': 0.16; 'complains': 0.16; 'downside': 0.16; 'expression,': 0.16; 'fruit': 0.16; 'oct': 0.16; 'received:209.85.216.53': 0.16; 'syntax,': 0.16; 'syntax.': 0.16; 'then?': 0.16; 'to:addr:pearwood.info': 0.16; 'to:addr:steve+comp.lang.python': 0.16; "to:name:steven d'aprano": 0.16; 'wrote:': 0.17; 'implementing': 0.17; 'proposed': 0.20; 'all,': 0.21; 'meant': 0.21; 'assignment': 0.22; 'claimed': 0.22; 'cc:2**0': 0.23; 'solutions.': 0.23; 'cc:no real name:2**0': 0.24; 'cc:addr:python.org': 0.25; 'header:In-Reply-To:1': 0.25; 'am,': 0.27; 'language.': 0.27; 'message-id:@mail.gmail.com': 0.27; "doesn't": 0.28; "d'aprano": 0.29; 'high.': 0.29; 'steven': 0.29; 'surprised': 0.29; 'probably': 0.29; 'could': 0.32; 'problem': 0.33; 'point.': 0.33; 'entry': 0.33; "can't": 0.34; 'received:google.com': 0.34; 'problem,': 0.35; 'especially': 0.35; 'received:209.85': 0.35; 'there': 0.35; 'problems': 0.36; 'does': 0.37; 'two': 0.37; 'being': 0.37; 'received:209': 0.37; 'received:209.85.216': 0.37; 'subject:: ': 0.38; 'mean': 0.38; 'some': 0.38; 'little': 0.39; 'header:Received:5': 0.40; 'think': 0.40; 'your': 0.60; "you've": 0.61; 'real': 0.61; 'solve': 0.62; 'perfect': 0.63; 'more': 0.63; 'costs': 0.64; 'concerns': 0.65; 'obvious': 0.71; 'absolutely.': 0.84; 'hanging': 0.84; "it'd": 0.84; 'speech': 0.84; 'hand,': 0.97 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=lpeBb+drzkoL6g/2Mh4F05/vBpfJuHkrMOx7L5dXVu0=; b=wnOBLOOER/z1hXbQymQFHIOEZNzS1EqDk94X+Afme6Bw0vflOZCbrWTHWY2idJnLDQ /dt+8OSuxT3wVczHgNRZxIe6EeLaoCbcmsC6AvTjuVNA9DSsg/emgIvWlzVJH9HKDqyb ILa6Ji1Oq6vZeeTuM37fJXMo64Q69Tg4LbwpxmerxvHu1M5xlb0X8rSEgwEoB8epqBac M5OpPFtXO8hgayLS3gAyBZYfv92fiz68E5yLWiTXZlf2dgJvYjekcH6qhrrBW/cLdVpN AlczZ34T8skqltV2jG3g1jUTUCf09GsnV2obqQQlZBpI5K1WsEUS+WFIEHXeWwQlp9Ne /19w== MIME-Version: 1.0 In-Reply-To: <508cd7e7$0$29967$c3e8da3$5496439d@news.astraweb.com> References: <508c810f$0$29967$c3e8da3$5496439d@news.astraweb.com> <508cd7e7$0$29967$c3e8da3$5496439d@news.astraweb.com> From: Devin Jeanpierre Date: Sun, 28 Oct 2012 04:12:12 -0400 Subject: Re: attaching names to subexpressions To: "Steven D'Aprano" Content-Type: text/plain; charset=UTF-8 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: 51 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1351411980 news.xs4all.nl 6979 [2001:888:2000:d::a6]:34207 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:32307 On Sun, Oct 28, 2012 at 2:59 AM, Steven D'Aprano wrote: > On Sun, 28 Oct 2012 01:57:45 -0400, Devin Jeanpierre wrote: > >> We have a problem, and two solutions. Solution 1 has downside A, and >> solution 2 has downside B. If he complains about downside A, you say, >> well, use solution 2. If he complains about downside B, you say, well, >> use solution 1. >> >> What if he wants to avoid both downsides A and B? What solution does he >> use then? > > "I want to have my cake, and eat it too." Every solution has some > downside. And yet you claimed all of their problems could be solved, without adding any new syntax, "trivially". Perhaps what you meant is that it's trivial to ignore their concerns and use existing syntax. > Just because no other solution is perfect (whatever that > means!) doesn't mean we must keep adding more and more ways to solve the > same problem into a language. A fair point. > The proposed solution, assignment as an expression, has multiple > downsides: Almost all of your "downsides" are nonspecific costs to implementing new features. Which is to say, you can't think of any downside to this approach at all, other than it being "open to abuse". On the other hand, it'd probably be pretty useless if it weren't. :) > All these downsides make the barrier to entry for new syntax very high. > Python is a 20 year old mature language. Most, perhaps all, of the low- > hanging fruit syntax-wise has been picked. Absolutely. Especially considering that this is a "small" and obvious change to Python, I hope nobody is holding their breath for this to be added. > Don't be surprised when > there is opposition to adding new syntax. With very few exceptions, new > syntax has real costs and little or questionable benefit. Surprised? I think you've given me this speech twice now. -- Devin