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


Groups > comp.lang.python > #86597

Re: Python Worst Practices

Path csiph.com!usenet.pasdenom.info!gegeweb.org!usenet-fr.net!nerim.net!novso.com!newsfeed.xs4all.nl!newsfeed3a.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail
Return-Path <davea@davea.name>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.032
X-Spam-Evidence '*H*': 0.94; '*S*': 0.00; 'python.': 0.02; 'python,': 0.02; 'subject:Python': 0.06; '(especially': 0.07; 'c++,': 0.07; 'duplicate': 0.07; '#include': 0.09; 'wrong,': 0.09; 'yeah,': 0.09; 'python': 0.11; '#undef': 0.16; 'clues': 0.16; 'printing.': 0.16; 'sys.path': 0.16; 'unexpectedly': 0.16; 'sat,': 0.16; 'wrote:': 0.18; 'module': 0.19; 'feb': 0.22; 'print': 0.22; 'header:User-Agent:1': 0.23; 'header': 0.24; "haven't": 0.24; 'nearly': 0.26; 'right.': 0.26; 'least': 0.26; 'header:In-Reply- To:1': 0.27; 'chris': 0.29; 'am,': 0.29; "doesn't": 0.30; 'file': 0.32; 'run': 0.32; 'could': 0.34; 'one,': 0.35; 'but': 0.35; 'there': 0.35; 'c++': 0.36; 'earth': 0.36; 'should': 0.36; 'being': 0.38; 'to:addr:python-list': 0.38; 'pm,': 0.38; 'itself': 0.39; 'to:addr:python.org': 0.39; 'how': 0.40; 'even': 0.60; 'dave': 0.60; 'first': 0.61; 'love': 0.65; 'charset:windows-1252': 0.65; 'between': 0.67; 'received:74.208': 0.68; 'forth': 0.81; 'life.': 0.83; '2015': 0.84; 'conflicts': 0.84; 'confusion.': 0.84; 'consequently': 0.84; 'fortunately,': 0.84; 'imagine,': 0.84; "it'd": 0.84; 'lying': 0.84; 'received:74.208.4.194': 0.84; 'reflection': 0.84; 'shadow': 0.84; 'subject:Practices': 0.84; 'angel': 0.91
Date Fri, 27 Feb 2015 16:59:04 -0500
From Dave Angel <davea@davea.name>
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version 1.0
To python-list@python.org
Subject Re: Python Worst Practices
References <mclca6$iie$1@ger.gmane.org> <7053A277-9687-49B0-9FDB-CB4DB3E76DEC@gmail.com> <54F0E38D.40006@davea.name> <CAPTjJmqTsB-of0JdJKW4BNW23DEpZ17353fHa9iBHfV8-3uANw@mail.gmail.com>
In-Reply-To <CAPTjJmqTsB-of0JdJKW4BNW23DEpZ17353fHa9iBHfV8-3uANw@mail.gmail.com>
Content-Type text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding 7bit
X-Provags-ID V02:K0:fUFHPxkXkXrGfP1ro8ANp8Xgbp9JWYc7WvvO1Wc6Hk+ XiMAwNVuoAEAGRbMXb7lYjdDN/RfaeRZpV5UdrKVppYVhjUIFk ZefqUZw2/NgAoyqS5raw4BjnrMi1aBa+UPJUxdeLBK9ltkK1nA QdXoTqTImfYPSGJ97ioTB2UsM+wN+ekAhIJys01HH9HA0JxQLA LnycpYkBIWUWKfAg6b//XUGQ77996sgtmoKD35wemZ/iRCist3 n4mAvi9ItaS5yqnNNRSfPJZ8Jr4f2YBmO2mqifGziCvpYXqdsf zPFNXbYTI1lXIcpkNnFTgJJuizpEPBTvxQNIDNunRdC9FKV4/z VMa2hNOZBG3z7JEalRhQ=
X-UI-Out-Filterresults notjunk: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.19322.1425074350.18130.python-list@python.org> (permalink)
Lines 33
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1425074350 news.xs4all.nl 2976 [2001:888:2000:d::a6]:45604
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.python:86597

Show key headers only | View raw


On 02/27/2015 04:40 PM, Chris Angelico wrote:
> On Sat, Feb 28, 2015 at 8:37 AM, Dave Angel <davea@davea.name> wrote:
>> Right.  In C and C++, instead of being the first slide, it'd be the first 3
>> or 4.  Between header file conflicts (especially good because the stdlib
>> itself has many multiply-defined symbols, duplicate header files, and
>> contradictory include path patterns)
>
> Yeah, Python has some issues with sys.path and how your local module
> can unexpectedly shadow a stdlib one, but at least the stdlib itself
> doesn't have any conflicts. I should not ever have to do this dance:
>
> #include <somefile.h>
> #undef SOME_SYMBOL
> #include <otherfile.h>
>
> But sadly, I do

I can remember resorting to #pragmas to print out clues to include 
order, when recursive includes were masking what on earth was going 
wrong.  Imagine, compile time printing.

Fortunately, in Forth and Python, there's much less distinction between 
compile time and run time.  And in Python, lots of metadata and 
reflection data is left lying around to be inspected in case of confusion.

Don't get me wrong, I love C++, even if I don't use it the way the 
purists would like.  But there are many warts that drive me up the wall, 
and consequently I avoid many features which could improve my C++ life. 
  I haven't found nearly as many in Python.


-- 
DaveA

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


Thread

Re: Python Worst Practices Dave Angel <davea@davea.name> - 2015-02-27 16:59 -0500

csiph-web