My Python annoyances

John Nagle nagle at animats.com
Thu May 3 13:47:16 EDT 2007


Ben Collver wrote:
> I rewrote my code in Python and I found myself running into many of the 
> same hassles that I run into with other languages: inaccurate and 
> incomplete documentation, a maze of little platform-specific quirks to 
> work around in the base classes, and a macho community of users.

     That's about typical.  I've had much the same experiences, but
with a completely different set of external packages.  I was doing
a web application in Linux; this user was doing a desktop
app on Windows.  Yet he's reporting much the same kinds of quality
problems I noticed.

     In general, the libraries outside of the core are not well
maintained.  The user communities are small and bug reports can
take years to resolve.

> I tried to write portable Python code.  The zlib CRC function returned 
> different results on architectures between 32 bit and 64 bit 
> architectures.  I filed a bug report.  It was closed, without a comment 
> from the person who closed it.  I get the unspoken message: bug reports 
> are not welcome.

      That's the problem with bug reporting systems which let developers
close bugs arbitrarily.  Defect reporting systems should have a status
for "developer in denial".

      Bug handling in loosely managed projects tends to follow the
same path as the "stages of grief": denial, anger, bargaining,
depression, and acceptance.   Getting through the process requires
a year or so.

      There's an integration problem with the CPython implementation.
The mechanism for supporting extensions in other languages does not
have a tightly defined API which remains constant across versions.
Thus, C extensions are tied to a specific version of CPython compiled
with a specific compiler.  There's no effort by the core Python
development group to keep third-party extensions in sync with the core,
so whenever a new core version comes out, many third party extensions
are unusuable with it for some months.  The integration problem is
dumped on the third party extension developers.  Most of the items
the user here is complaining about fall into that category.

> In short, there is plenty of room for improvement.  Admittedly these are 
> not problems with the language definition.  But I downloaded a Python 
> distribution, and the problems are Python specific.

     That's the usual observation.  The language is in good shape, but
the libraries are not.  Python is better than Perl, but CPAN is better
than Cheese Shop.

					John Nagle



More information about the Python-list mailing list