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


Groups > comp.lang.python > #86601

Re: Python Worst Practices

Path csiph.com!usenet.pasdenom.info!news.redatomik.org!newsfeed.xs4all.nl!newsfeed1a.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail
Return-Path <ian.g.kelly@gmail.com>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.056
X-Spam-Evidence '*H*': 0.89; '*S*': 0.00; 'syntax': 0.04; 'warnings': 0.04; 'subject:Python': 0.06; 'assignment': 0.07; 'bytes,': 0.09; 'latter': 0.09; 'python': 0.11; 'bind': 0.16; 'sharp': 0.16; 'statement;': 0.16; 'syntactic': 0.16; 'targets:': 0.16; 'travis': 0.16; 'language': 0.16; 'wrote:': 0.18; 'feb': 0.22; 'references': 0.26; 'header:In-Reply-To:1': 0.27; 'words': 0.29; 'message- id:@mail.gmail.com': 0.30; 'code': 0.31; 'constant': 0.31; 'there.': 0.32; 'run': 0.32; 'url:python': 0.33; 'fri,': 0.33; 'programmers': 0.33; 'maybe': 0.34; 'editor': 0.35; 'late': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'there': 0.35; 'object,': 0.36; 'url:org': 0.36; 'should': 0.36; 'requiring': 0.38; 'to:addr:python-list': 0.38; 'pm,': 0.38; 'visual': 0.39; 'sure': 0.39; 'to:addr:python.org': 0.39; 'enough': 0.39; 'unable': 0.39; 'tell': 0.60; 'url:3': 0.61; 'times': 0.62; 'making': 0.63; 'provide': 0.64; 'between': 0.67; 'obvious': 0.74; '2015': 0.84; 'can\xe2\x80\x99t': 0.84; 'difference.': 0.84; 'draws': 0.84; 'subject:Practices': 0.84; 'url:reference': 0.84; 'visits': 0.84; 'mistake': 0.91; 'you\xe2\x80\x99re': 0.91
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 :content-type:content-transfer-encoding; bh=LePYR8PmLVFxcMnt9tIc75TBf9R8xhnzHcjGPVd+aYg=; b=oDgNgL2OummL3D+9MzBrXRq79kgRfwNvu/feh45kW207Y4wCv9VBbDkDkp1Le1/EgV KcApSfiGDxSgMl38LDhYFyMNQa1iUhO1ancQbNzmoYGMOerqrGnsHD6rQSIxOWhaZLAN c/pqZN2ilMoPc+84QbjI42ksCg0GlK1+0YXSb5uOgC83fD3i33JvQq28/j3oq8aLSE07 bfXe+344s9PU4VNbEdrkGRMGcN4x4vgVY4M4qUOrSMi+pe3gNqmUp+zP9mrAo/vVTu3P OHpXMuowkaefWa045SUpK6U9wNr1fZKhVHCEZs0XOO3SwbLL8XUxE2ikMsRT+ECg3dhX HVAg==
X-Received by 10.66.65.234 with SMTP id a10mr28337727pat.120.1425076679900; Fri, 27 Feb 2015 14:37:59 -0800 (PST)
MIME-Version 1.0
In-Reply-To <7053A277-9687-49B0-9FDB-CB4DB3E76DEC@gmail.com>
References <mclca6$iie$1@ger.gmane.org> <7053A277-9687-49B0-9FDB-CB4DB3E76DEC@gmail.com>
From Ian Kelly <ian.g.kelly@gmail.com>
Date Fri, 27 Feb 2015 15:37:18 -0700
Subject Re: Python Worst Practices
To Python <python-list@python.org>
Content-Type text/plain; charset=UTF-8
Content-Transfer-Encoding quoted-printable
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.19324.1425076688.18130.python-list@python.org> (permalink)
Lines 26
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1425076688 news.xs4all.nl 2923 [2001:888:2000:d::a6]:60067
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.python:86601

Show key headers only | View raw


On Fri, Feb 27, 2015 at 2:21 PM, Travis Griggs <travisgriggs@gmail.com> wrote:
> * Make your language have a lot of keywords. Enough to make memorizing them ALL unlikely, requiring constant visits to your documentation
> * Make sure said keywords are many of the obvious words programmers would use in their applications (map, object, bytes, dir, etc)

None of those are keywords. Keywords are these:
https://docs.python.org/3/reference/lexical_analysis.html#keywords

> * Design your syntax so that you can’t disambiguate them contextually between bind and reference

Maybe I misunderstand your complaint, but Python draws a sharp
syntactic distinction between references and assignment targets: the
latter are only ever found to the left of an = in an assignment
statement; the former are never found there. There is no reason why an
editor should be unable to tell the difference.

> * Be sure to use it in a late bound language where no warnings will be provided about the mistake you’re making at authorship time, deferring the educational experience to sundry run times

You should lint your code to get warnings about this (and many other
things) at authorship time. A good editor should also provide some
visual warning when a built-in is shadowed.

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


Thread

Re: Python Worst Practices Ian Kelly <ian.g.kelly@gmail.com> - 2015-02-27 15:37 -0700

csiph-web