Python does not play well with others

Paul Rubin http
Thu Jan 25 12:30:17 EST 2007


John Nagle <nagle at animats.com> writes:
>     My main concern is with glue code to major packages.  The connections
> to OpenSSL, MySQL, and Apache (i.e. mod_python) all exist, but have major
> weaknesses.  If you're doing web applications, those are standard pieces
> which need to work right.  There's a tendency to treat those as abandonware
> and re-implement them as event-driven systems in Twisted.  Yet the
> main packages aren't seriously broken.  It's just that the learning curve
> to make a small fix to any of them is substantial, so nobody new takes
> on the problem.

There is an attitude widespread in the Python community, maybe
inherited from Extreme Programming, that when writing some subsystem
it's enough to implement just enough functionality to satisfy the
application's immediate needs.  Then if the application needs more
functionality from the subsystem later, go back and add it.  That's
fairly reasonable when the application and subsystem are being done by
the same people and there's not such a learning curve.  But it's
unwise for libraries.  For all Java's ugliness, when the Java library
developers want to implement some protocol like SSL, they take the
specification for the protocol and they implement it completely.
Python's library modules are very often missing stuff, as you've
pointed out.

In the specific examples of OpenSSL, MySQL, and Apache, the modules
involved aren't even part of the Python stdlib, the way JSSE and JDBC
are part of the Java stdlib (I guess that doesn't apply to Tomcat
though).



More information about the Python-list mailing list