I want to learn a new language...

Jonathan Ellis jonathan at carnageblender.com
Wed Feb 14 16:41:00 MST 2007


On Wed, 14 Feb 2007 16:29:50 -0700, "Michael L Torrie"
<torriem at chem.byu.edu> said:
> Thought I'd interject with a few of my favorite things to hate about
> python.
> 
> This often makes working with
> third-party libraries very painful.  I had to run several python twisted
> networking apps in a debugger until I figured out just what the
> different methods and functions in twisted are expecting, the good docs
> notwithstanding.

Twisted is well-known for having a very steep learning curve.  I haven't
had this problem with any Python libraries I can think of.

> The other major architectural limitation in python is the GIL, a giant
> lock that synchronizes calls to the interpreters core.  Thus
> multithreaded programs can not utilize multiple processing units.  In
> practice this usually isn't a huge deal.  I'd say much of the time a
> multithreaded app is best done with an asynchronous library anyway, like
> twisted.  But threads have their place.  Just be aware of this
> limitation when doing heavy computations with python.

Well, if you're doing heavy computation, it should be in a C library
that releases the GIL properly.  So in practice this isn't as big a
limitation as it sounds -- all the python stdlib that deals with
blocking or disk-touching system calls does this, for instance.

-Jonathan



More information about the PLUG mailing list