Python in the enterprise: Pros and cons

Paul Boddie paul at boddie.net
Thu Jul 11 07:26:46 EDT 2002


Paul Rubin <phr-n2002b at NOSPAMnightsong.com> wrote in message news:<7xbs9fta42.fsf at ruckus.brouhaha.com>...
> 
> Regardless of that, lots of stuff has been written in Java that's
> never been written in Python.  Where's the Python TLS stack with
> certificate management?  Where are the Enterprise Python Beans?

In the Python community, it's almost seen as a virtue that people
don't write things that they don't need. Whilst some things held up in
language comparisons aren't needed in Python because of the language's
(and/or standard library's) inate capabilities, other things do
apparently point to the fact that Python isn't being used in certain
application areas.

The subject of Enterprise Beans is a contentious hybrid of these two
positions in the context of Python. Some might argue that EJB is a
necessary and well-informed framework which can help significantly in
the implementation of software for business; others might suggest that
it's a bloated standard that few people bother to take full advantage
of. Consequently, one might find Python in use either imitating EJB or
instead competing with "sub-EJB" systems written in Java or other
languages which don't support such frameworks.

However, one thing which is, in my opinion, important about EJB and
other Java technologies is the standardisation that comes with them.
With Java, developers don't have to choose an application server and
then use an API specific to that server; instead, they can choose an
API and expect most servers to do a reasonable job of supporting it
(even though the old "write once, test everywhere" curse still applies
somewhat).

Thankfully, Python has some standards in some technology areas, such
as SQL and XML. Without even an elementary level of standardisation,
Python would be as attractive as C++ for these technologies, and
having done some work in C++ and XML recently, I can confirm that it
isn't fun to use C++ in that area (whereas it is fun to use Python
with XML) and it would be a nightmare to migrate to different
libraries (whereas it would be much easier, if not completely trivial,
in Python).

>                                    Java's online docs are far superior
> to Python's.  There are also a lot more books about Java, but I don't
> care about those for the same reason I don't care about Python books.

Some Java documents are very good, but other documents (in the maze of
java.sun.com) are of fairly limited use. Moreover, the further one
roams from Sun towards third parties, the worse the situation gets:
lots of people with problems, no-one with solutions.

> Python is ready for some applications and getting there for others.
> It has a lot of virtues and to be clear about it, I like Python better
> than Java for most purposes.  However, Python's advocates often don't
> acknowledge that there are still areas where Python genuinely does
> fall behind.  We need to stay aware of Python's shortcomings so we can
> acknowledge them and/or fix them.

Python is in the enterprise, even if its presence owes much to
stealth, and I think many would be surprised how much usage Jython
gets without much publicity in the usual Python community circles.
Still, we need to be more self-critical and more committed to remove
the tedious obstacles in the existing standards (portable database
code is still a challenge), yet we should, in addition, continue to
look for genuinely innovative solutions which don't necessarily owe a
great deal to mainstream enterprise standards.

Paul



More information about the Python-list mailing list