Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #54086

Re: Language design

Path csiph.com!usenet.pasdenom.info!weretis.net!feeder1.news.weretis.net!feeder.erje.net!eu.feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!xlned.com!feeder7.xlned.com!newsfeed.xs4all.nl!newsfeed1.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail
Return-Path <rosuav@gmail.com>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.031
X-Spam-Evidence '*H*': 0.94; '*S*': 0.00; 'value,': 0.04; 'argument': 0.05; 'none,': 0.07; 'method,': 0.09; 'subject:design': 0.09; 'exclamation': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'sharp': 0.16; 'subject:Language': 0.16; 'language': 0.16; 'wrote:': 0.18; 'do.': 0.18; 'thu,': 0.19; '>>>': 0.22; '(in': 0.22; 'case.': 0.24; 'stopping': 0.24; '(or': 0.24; 'primary': 0.26; 'header:In-Reply-To:1': 0.27; 'chris': 0.29; 'feature': 0.29; 'am,': 0.29; "doesn't": 0.30; 'message- id:@mail.gmail.com': 0.30; '(which': 0.31; '13,': 0.31; 'accidentally': 0.31; 'sep': 0.31; 'fri,': 0.33; 'received:google.com': 0.35; 'doing': 0.36; "didn't": 0.36; 'method': 0.36; 'possible': 0.36; 'behind': 0.37; 'list.': 0.37; 'to:addr:python-list': 0.38; '12,': 0.39; 'to:addr:python.org': 0.39; 'called': 0.40; 'chain': 0.60; 'free': 0.61; 'new': 0.61; 'more': 0.64; 'side': 0.67; 'between': 0.67; 'policy.': 0.68; 'default': 0.69; 'touch': 0.74; 'demand': 0.91; 'habit': 0.91; 'reasoning': 0.91; '2013': 0.98
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 :content-type; bh=/OR4kX0U1Wk5QUXPIKRL2b9sl2H2TXotSByiz8oHfwo=; b=VJlO+7s+2Rn4huP9Ci1onmoe+yPpocjMZtoLjLxsyad468lHpbhdEvCo6Tdn5e/np0 X0QET8dkvAy783dFJiZYB70yVdbzXgtwS/9rgS4S5DXdH0XuLFVJv+iVZTFb6Mgdta2E G/zyO6zT6HRFZynTi44bz56SypBp0sAS8oOVUfYQM+AmNK/ag1pAUl4XanEAFXfOvfle aiAmawmgPxwqUrovuiayg2YuGHdmMyU9eooJP310uN+ezA7Tn6Cfa0Ky3fYih6gFZWQv kcPUwnxVd8O4CMweDKv5tsI3nyCFTESR3FIPx7fk9Z5tX6yBhCUKSOhYw0GZA8yBbpE0 0lbQ==
MIME-Version 1.0
X-Received by 10.220.164.70 with SMTP id d6mr8416138vcy.19.1379022819181; Thu, 12 Sep 2013 14:53:39 -0700 (PDT)
In-Reply-To <5232042C.3020700@markusrother.de>
References <522eb795$0$29999$c3e8da3$5496439d@news.astraweb.com> <5230D58E.9020508@markusrother.de> <CAPTjJmqAQDS6U3KNHuh9_KwbKpQv7P9ndtsc7XmDHdKPdc7o_A@mail.gmail.com> <5232042C.3020700@markusrother.de>
Date Fri, 13 Sep 2013 07:53:39 +1000
Subject Re: Language design
From Chris Angelico <rosuav@gmail.com>
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 <python-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-list/>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
Newsgroups comp.lang.python
Message-ID <mailman.329.1379022827.5461.python-list@python.org> (permalink)
Lines 23
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1379022827 news.xs4all.nl 15918 [2001:888:2000:d::a6]:51697
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.python:54086

Show key headers only | View raw


On Fri, Sep 13, 2013 at 4:13 AM, Markus Rother <python@markusrother.de> wrote:
> On 12.09.2013 01:27, Chris Angelico wrote:
>> On Thu, Sep 12, 2013 at 6:41 AM, Markus Rother <python@markusrother.de> wrote:
>>>     3. The default return value of methods is None instead of self.
>>>     If it was self, it would be possible to chain method calls (which
>>>     is called a cascade in smalltalk).
>>
>> That's a policy decision: a method (or function) will *EITHER* return
>> a value, *OR* mutate its primary argument (in the case of a method,
>> that's self).
>
> You are stating: "All getters must be free of side effects".
> That is not the case.  Furthermore, the demand for getters with hidden
> side effects is the reasoning behind properties.

This isn't a language feature here, just a stdlib policy. It's more
akin to Ruby's habit of adorning the mutating methods with an
exclamation mark - it's a way of stopping you from accidentally doing
what you didn't mean to do. There's a sharp distinction between
list.sort(), which mutates in place and returns None, and sorted(),
which doesn't touch its argument and returns a new list.

ChrisA

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Language design Steven D'Aprano <steve@pearwood.info> - 2013-09-10 06:09 +0000
  Re: Language design diverman <pavel@schon.cz> - 2013-09-09 23:59 -0700
  Re: Language design Ben Finney <ben+python@benfinney.id.au> - 2013-09-10 17:07 +1000
    Re: Language design Nobody <nobody@nowhere.com> - 2013-09-11 01:03 +0100
      Re: Language design Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-09-11 00:53 +0000
        Re: Language design Nobody <nobody@nowhere.com> - 2013-09-12 18:23 +0100
  Re: Language design Antoon Pardon <antoon.pardon@rece.vub.ac.be> - 2013-09-10 09:58 +0200
  Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-10 20:20 +1000
  Re: Language design Chris Rebert <clp2@rebertia.com> - 2013-09-10 18:46 -0700
  Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-11 14:21 +1000
  Re: Language design Burak Arslan <burak.arslan@arskom.com.tr> - 2013-09-11 13:38 +0300
    Re: Language design Neil Cerutti <neilc@norwich.edu> - 2013-09-11 14:32 +0000
      Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-12 00:46 +1000
  Re: Language design Wayne Werner <wayne@waynewerner.com> - 2013-09-11 06:42 -0500
  Re: Language design Dave Angel <davea@davea.name> - 2013-09-11 12:05 +0000
  Re: Language design Ethan Furman <ethan@stoneleaf.us> - 2013-09-11 07:52 -0700
  Re: Language design Burak Arslan <burak.arslan@arskom.com.tr> - 2013-09-11 18:41 +0300
  Re: Language design Markus Rother <python@markusrother.de> - 2013-09-11 22:41 +0200
    Re: Language design Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-09-11 23:40 +0000
  Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-11 14:22 -0700
  Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-11 14:30 -0700
    Re: Language design Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-09-11 23:40 +0000
      Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-11 17:49 -0700
        Re: Language design Steven D'Aprano <steve@pearwood.info> - 2013-09-12 05:33 +0000
          Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-12 20:23 -0700
            Re: Language design Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-09-13 05:08 +0000
              Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-13 17:39 +1000
              Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-14 19:37 -0700
              Re: Language design Antoon Pardon <antoon.pardon@rece.vub.ac.be> - 2013-09-15 09:57 +0200
      Re: Language design Terry Reedy <tjreedy@udel.edu> - 2013-09-11 21:40 -0400
      Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-12 11:41 +1000
  Re: Language design Ethan Furman <ethan@stoneleaf.us> - 2013-09-11 14:15 -0700
  RE: Language design "Prasad, Ramit" <ramit.prasad@jpmorgan.com.dmarc.invalid> - 2013-09-11 21:56 +0000
  Re: Language design Ben Finney <ben+python@benfinney.id.au> - 2013-09-12 09:16 +1000
  Please omit false legalese footers (was: Language design) Ben Finney <ben+python@benfinney.id.au> - 2013-09-12 09:22 +1000
    Re: Please omit false legalese footers (was: Language design) Grant Edwards <invalid@invalid.invalid> - 2013-09-12 20:12 +0000
  Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-12 09:27 +1000
  Re: Language design Ben Finney <ben+python@benfinney.id.au> - 2013-09-12 09:19 +1000
  Re: Language design Terry Reedy <tjreedy@udel.edu> - 2013-09-11 19:51 -0400
  Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-11 17:25 -0700
  Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-12 10:31 +1000
    Re: Language design Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-09-12 02:33 +0000
      Re: Language design Roy Smith <roy@panix.com> - 2013-09-11 22:43 -0400
        Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-12 12:58 +1000
        Re: Language design Steven D'Aprano <steve@pearwood.info> - 2013-09-12 05:08 +0000
  Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-11 17:34 -0700
  Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-11 17:37 -0700
  Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-12 10:40 +1000
  Re: Language design Benjamin Kaplan <benjamin.kaplan@case.edu> - 2013-09-11 17:54 -0700
  Re: Language design Ben Finney <ben+python@benfinney.id.au> - 2013-09-12 10:57 +1000
  Re: Language design Joshua Landau <joshua@landau.ws> - 2013-09-12 05:17 +0100
  Re: Please omit false legalese footers (was: Language design) Skip Montanaro <skip@pobox.com> - 2013-09-12 04:27 -0500
  Re: Please omit false legalese footers (was: Language design) Oscar Benjamin <oscar.j.benjamin@gmail.com> - 2013-09-12 10:44 +0100
  Re: Language design Markus Rother <python@markusrother.de> - 2013-09-12 19:51 +0200
    Re: Language design Neil Cerutti <neilc@norwich.edu> - 2013-09-12 18:06 +0000
  Re: Language design Markus Rother <python@markusrother.de> - 2013-09-12 20:13 +0200
  Re: Language design Markus Rother <python@markusrother.de> - 2013-09-12 20:24 +0200
    Re: Language design Neil Cerutti <neilc@norwich.edu> - 2013-09-12 19:18 +0000
  Re: Language design Ethan Furman <ethan@stoneleaf.us> - 2013-09-12 11:05 -0700
  Re: Language design Ned Batchelder <ned@nedbatchelder.com> - 2013-09-12 14:37 -0400
  Re: Language design Terry Reedy <tjreedy@udel.edu> - 2013-09-12 14:46 -0400
  Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-13 07:53 +1000
  Re: Language design Antoon Pardon <antoon.pardon@rece.vub.ac.be> - 2013-09-13 09:04 +0200
    Re: Language design Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-09-13 10:13 +0000
      Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-13 21:16 +1000
      Re: Language design Antoon Pardon <antoon.pardon@rece.vub.ac.be> - 2013-09-13 13:28 +0200
      Re: Language design Terry Reedy <tjreedy@udel.edu> - 2013-09-13 15:32 -0400
      Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-14 09:57 +1000
        Re: Language design Neil Cerutti <neilc@norwich.edu> - 2013-09-18 14:57 +0000
          Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-19 01:02 +1000
            Re: Language design Neil Cerutti <neilc@norwich.edu> - 2013-09-18 15:08 +0000
              Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-19 01:12 +1000
              Re: Language design William Ray Wing <wrw@mac.com> - 2013-09-18 12:58 -0400
                Re: Language design wxjmfauth@gmail.com - 2013-09-18 10:45 -0700
                Re: Language design Neil Cerutti <neilc@norwich.edu> - 2013-09-18 17:55 +0000
      Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-13 17:28 -0700
      Re: Language design Vito De Tullio <vito.detullio@gmail.com> - 2013-09-14 07:25 +0200

csiph-web