[Baypiggies] Frequently Argued Objections
Shannon -jj Behrens
jjinux at gmail.com
Fri Jun 20 10:19:15 CEST 2008
> - Why such difficulty with extensibility?
> OK, there are cases that are valid, I don't know of a library that I can
> natively read an OODoc spreadsheet in python where that exists in perl for
> example. However, I think this is a biproduct of the "batteries included"
> mindset, which i interpret as -- the python community has an acknowledged
> preference for libraries that work to a fairly sound definition of "good
> enough", and maybe there's no good-enough OODoc python library yet.
> Still, in terms of discovery, perl has CPAN, and perl folks seem to like
> ... well no, they seem to tolerate it. Does Python need an improved
> CPAN? Or is Python so "batteries included" that it's either - the
> language has it standard, or you're going to need google to find it?
> There's probably a related question of how large are the community of
> contributers and what are the barriers to entry, what is the relative merit
> of 10 half-baked libraries targeted at slightly different use cases, vs 1
> that kicks butt.
> Still, I get "poor extensibility" as a top critique of python probably more
> than anything else these days.
The Python version of CPAN is PyPI. "easy_install whatever" will
automatically compile C extension, pull down dependencies, etc. It
doesn't come with Python, but it's easy to install, and most people
use it. It's nice.
Python is actually one of the most extensible languages:
* Writing C extensions is easier in Python than in Perl or Java.
* PyRex allows you to integrate with C using a Python/C hybrid that's
easy and powerful.
* You can call directly into C code using ctypes.
* You can get access to Java and .NET libraries via Jython and
Ok, one more:
Q: Why does Python have non-OO crap?
A: Because it's a multi-paradigm language. Sometimes a bit of
functional programming (a la Lisp) really hits the spot. Sometimes,
it's more natural to use OO. Sometimes a bit of imperative
programming (a la C) does the trick. Even AOP has a place in Python.
Being practical instead of dogmatic is a nice part of the Python
I, for one, welcome our new Facebook overlords!
More information about the Baypiggies