[path-PEP] Path inherits from basestring again

Ivan Van Laningham ivanlan at pauahtun.org
Sat Jul 30 10:01:15 EDT 2005


Hi All--

Tony Meyer wrote:
> 
> >> (Those who are offended by sweeping generalisations should
> >> ignore this next bit)
> [...generalisation bit snipped...]
> > This is not only bullshit, it's elitist bullshit.  "Windows users are
> > more clueless than users of posix systems."  Pfui.  Prove it
> > or withdraw it.
> 
> Sigh.  I guess you didn't read or understand the first sentence?
> 

Yes, I read and understood it.  Saying "Don't read this if you don't
want to be offended" doesn't make an offensive statement inoffensive.

> >> This (readability without knowing the language/standard
> >> libraries) is a huge benefit of using Python.
> >
> > It's overrated.  It must be macho to say "I learned Python without
> > reading books."
> 
> No it is not.  Have you used Python as pseudocode when teaching people how
> to program?  Many people have.  That's just one example.
> 

I grant that Python is much easier to learn than other programming
languages; students can pick up the basics rapidly.  Once the basics are
mastered and mentoring is over, reliance on guess and intuition is not a
substitute for documentation, or for reading the code if documentation
is not available.

> People can subclass Path and add it if they really want it.  They can use
> Jason's original module.  My position is that the PEP without this use of
> __div__ is (a) better as a standard module, and (b) improves the chance of
> the PEP being accepted.
> 

I disagree.  Using __div__ to mean path concatenation is no worse than
using __add__ to mean string concatenation, and it is both easy to
remember (once the manual is read) and easy to type.  Requiring users
who want / to mean what it has always meant in the path module is
neither easy nor intuitive.  On the face of it, Jason would seem to
agree, since he created / as a synonym for joinpath().  However, if the
intention here is to create something different from Jason's original
module, create something different and call it by another name than
path; don't attempt to guess "what Jason really meant."  It is not
Pythonic to guess.

Metta,
Ivan
----------------------------------------------
Ivan Van Laningham
God N Locomotive Works
http://www.andi-holmes.com/
http://www.foretec.com/python/workshops/1998-11/proceedings.html
Army Signal Corps:  Cu Chi, Class of '70
Author:  Teach Yourself Python in 24 Hours



More information about the Python-list mailing list