On Apr 5, 2005, at 1:34 AM, Bill Janssen wrote:

You may be interested in this article:
http://programming.newsforge.com/article.pl?sid=05/03/29/0747230

Cameron Laird writes:

It's worth noting that Cameron Laird (who I'm sure is a perfectly nice guy) is an old-time Python fan already (as am I); take his pronouncements with a grain of salt.

I love Python, and use it whenever I can, but I can tell you that the
state of Python's libraries is problematic; there's highly polished
code to deal with comma-separated values, but no parser for XML 1.1
(as of the end of the year).  I was shocked to find that the
client-side http library has no support for posting multipart
documents, and no support for timeouts or server-side SSL support.
And so on and so forth.  Python has these holes for lots of things
that are in the standard Java and Perl libraries.  And what's in the
standard library is hard to understand; there's no consistent
editorial style across the library documentation, so it varies wildly
from one module to the next.

Highly polished code to handle comma-separated values my ass, it can't even do unicode. I ended up writing my own CSV parser. Though, for the most part, I parse the excel documents directly with jxl.jar <http://www.andykhan.com/jexcelapi/> (a java tool, which I can just use from the command line as-is), and then parse the XML it spits out.


Perl doesn't really have any standard libraries. When you get Perl, you get the core plus CPAN. Everything else lives elsewhere. Perl doesn't even ship with enough stuff to use CPAN natively, it has to defer stuff to whatever command line tools it can find.

Python doesn't have the infrastructure to work like this, but it's coming -- and it will be good. Smart people are working on solving these issues, and we can learn from the mistakes made with CPAN, PEAR, etc.

If you want networking support, use Twisted, it can do all the things you're complaining about. If you want XML 1.1 support, I'm sure you can get that outside of the stdlib, using libxml2 bindings at worst case (don't know if ElementTree or the like supports 1.1, I haven't kept up much with XML).

Things are being addressed, but piecemeal and haphazardly.  Apparently
no one is in charge of designing and building the standard library.
That seems (to me) a major problem with the language as a whole.

I agree, the standard library is a real mess. All of the interesting advancements are happening elsewhere. Fortunately or unfortunately python-dev is largely interested in Python-the-language, not Python-the-environment.


Though, the interesting and extremely useful stuff from the outside (if it's simple enough) usually ends up in the stdlib, eventually.

That combines with the problem that I have to shift to Java or Jython
(thank God for Jim Hugunin and his successors) to get a reasonable
portable UI toolkit (sorry, wxWindows isn't good enough).  Bob's Cocoa
work would be good enough, but it isn't portable.

Well if someone puts in the effort to finish the GNUStep support in PyObjC, you'd be able to target that and Cocoa without too much platform-specific code (assuming you use Renaissance or something, rather than Interface Builder). I'm not sure what the state of GNUStep itself is, though...


-bob

_______________________________________________
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig

Reply via email to