Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.albasani.net!news.redatomik.org!newsfeed.xs4all.nl!newsfeed4.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.009 X-Spam-Evidence: '*H*': 0.98; '*S*': 0.00; 'python.': 0.02; 'languages,': 0.04; 'argument': 0.05; 'true,': 0.05; 'none,': 0.07; 'imply': 0.09; 'override': 0.09; 'stating': 0.09; 'python': 0.11; 'false)': 0.16; 'keywords)': 0.16; 'looked-up': 0.16; 'ought': 0.16; 'tends': 0.16; 'wrote:': 0.18; 'otherwise,': 0.22; 'header:User-Agent:1': 0.23; 'question': 0.24; 'developers': 0.25; 'header:In-Reply-To:1': 0.27; 'chris': 0.29; 'feature': 0.29; 'am,': 0.29; "doesn't": 0.30; 'argue': 0.31; 'gary': 0.31; "we're": 0.32; '(e.g.': 0.33; 'knowledge': 0.35; 'but': 0.35; 'there': 0.35; '(e.g.,': 0.36; 'keyword': 0.36; 'useful': 0.36; 'should': 0.36; 'too': 0.37; 'to:addr:python-list': 0.38; 'fact': 0.38; 'does': 0.39; 'to:addr:python.org': 0.39; 'changed': 0.39; 'most': 0.60; 'simply': 0.61; 'first': 0.61; 'you.': 0.62; 'provide': 0.64; 'more': 0.64; 'charset:windows-1252': 0.65; 'institute': 0.72; 'family': 0.73; 'received:204': 0.75; 'dr.': 0.77; 'disruptive': 0.84; 'pardon': 0.84 Date: Tue, 12 May 2015 09:07:29 -0700 From: Gary Herron User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: python-list@python.org Subject: Re: anomaly References: <554F9525.5040101@digipen.edu> <5550815E.5080600@rece.vub.ac.be> <5550a1d4$0$13013$c3e8da3$5496439d@news.astraweb.com> <5550B0CF.208@rece.vub.ac.be> <5551EA40.2000606@rece.vub.ac.be> In-Reply-To: <5551EA40.2000606@rece.vub.ac.be> Content-Type: multipart/alternative; boundary="------------040706030000030408050400" X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.20+ 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: 103 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1431446860 news.xs4all.nl 2937 [2001:888:2000:d::a6]:58342 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:90463 This is a multi-part message in MIME format. --------------040706030000030408050400 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit On 05/12/2015 04:55 AM, Antoon Pardon wrote: > Op 11-05-15 om 16:13 schreef Chris Angelico: > >> Why does Python have most built-ins as simply looked-up names that can >> be overridden? Because otherwise, there would be a veritable ton of >> keywords: > But that doesn't answer the question why the developers chose "True" to be a > keyword and "int" to be a looked-up name. > > and pretending to justify that choice by stating that the python thought > is: We're all adults here, if you want to override a builtin, who are we > to stop you. That is disingenuous. > Bull. Some design decisions were made with the knowledge that * they provide a freedom which may be useful but can be misused (e.g., shadowing builtins), versus * they would be too disruptive of abusable (e.g. shadowing keywords) Python tends to use the first category more than C family languages, and that's where the "We're all adults" argument applies. You may argue about which category any particular feature ought to fall into, and in fact several things (shadowing None, True, and False) have changed category during the evolution of Python. But to imply that the "adult" argument should drive *all* decisions is foolish. And disingenuous. -- Dr. Gary Herron Department of Computer Science DigiPen Institute of Technology (425) 895-4418 --------------040706030000030408050400 Content-Type: text/html; charset=windows-1252 Content-Transfer-Encoding: quoted-printable
On 05/12/2015 04:55 AM, Antoon Pardon wrote:
Op 11-05-15 om 16:13 schreef Chris Angelico:

Why does Python have most built-ins as simply look=
ed-up names that can
be overridden? Because otherwise, there would be a veritable ton of
keywords:
But that doesn't answer the question why the developers chose "True" to b=
e a
keyword and "int" to be a looked-up name.

and pretending to justify that choice by stating that the python thought
is: We're all adults here, if you want to override a builtin, who are we
to stop you. That is disingenuous.


Bull.=A0=A0 Some design decisions were made with the knowledge that <= br>
  • they provide a freedom which may be useful but can be misused (e.g., shadowing builtins), versus
  • they would be too disruptive of abusable (e.g. shadowing keywords)
Python tends to use the first category more than C family languages, and that's where the "We're all adults" argument applies.=A0 You may argue about which category any particular feature ought to fall into, and in fact several things (shadowing None, True, and False) have changed category during the evolution of Python.=A0 But to imply= that the "adult" argument should drive *all* decisions is foolish.=A0= =A0 And disingenuous.=A0
--=20
Dr. Gary Herron
Department of Computer Science
DigiPen Institute of Technology
(425) 895-4418
--------------040706030000030408050400--