Python in the enterprise: Pros and cons

David LeBlanc whisper at oz.net
Wed Jul 10 18:53:33 EDT 2002


The article suggested the following cons and here are my counter arguments:
* Smaller pool of Python developers compared to other languages, such as
Java

-- Easier learning curve compared to other languages such as Java, C, C++,
Perl, Tcl and Ruby; especially so for people coming from any of those
languages. Python is just plain easy to learn.

* Lack of true multiprocessor support

-- Heh. That's not really true either. Python is no better and no worse then
any other application program wrt to multiprocessor usage. What the author
probably was referring to here is Python's lack of multi-processor
multi-threading - i.e. true parallel computation. Know many non-specialized
languages that can or do exploit multi-processor multi-threading? There are
even OS dependencies: Win32 OS's (NT, 2k, XP) will not spread applications
across processors unless your program causes it to explicitly (this is at
least true on retail 2 processor maximum systems). Linux OTOH, does so.

* Absence of a commercial support point, even for an Open Source project
(though this situation is changing)

-- I think you haven't noticed the forest for all the trees. While there is
no dominant well known Python Services Provider (maybe we could buy Anderson
Consulting cheap ;-)), there are quite a number of smaller companies and
individuals offering Python support and consulting. Digital Creations,
Python Labs, Pythonware and Orbtech come to mind and there are many others.

* Software performance (though benchmarks repeatedly demonstrate Python is
comparable to Java in most applications)

-- "Python is comparable to Java" is probably a con - Python far surpasses
Java in the shortness of time spent going from "hmmm ..." to "run ...". If
you're comparing clock cycles, then you're saying an open source development
project has done what a multi-billion dollar company with 100's of
developers has done (that's a bit unfair - Python probably has more
developers (including "battery" developers) on it then does Java). Python
can and most likely will get faster and even more popular, but I'm not sure
the same can be said for Java.

* Lack of prepackaged solutions

-- Take a look at the Python foundry on SourceForge. Browse the
comp.lang.python.announce archives. Spend an afternoon in the Vaults of
Parnassas, Python's defacto standard repository/catalog for contributed
software. Search for "python applications" on Google or Yahoo. Try "python
<application name>" for whatever type of application you're looking for and
see what comes up. Lack of channels for promoting Python applications
doesn't mean they don't exist.

* Python's obscurity in development shops

-- We don't WANT to take over the COBOL shops ;o)! I suspect most Linux and
Windows programmers have heard of Python and it would not surprise me to
know that a lot of them where using it internally where it's below the radar
of the people who poll language use (Dataquest, Gartner Group?). IBM, HP and
Intel use Python!

* Database access layer limitations

-- Ok, I agree that maybe this could be better "out of the box", but there
are good ODBC wrappers for Python from 3rd parties. ODBC is one of the few
specs that Microsoft got right enough for it to find it's way to the Linux
world.

* Documentation gaps

-- This was recently discussed on comp.lang.python. There are at least 27
books dealing with Python or Python in specific applications. The "in the
box" documentation is ackward to use but reasonably comprehesive (tutorial
aside - the best basic introduction is the book "Learning Python" by Mark
Lutz). There are at least 2 full books for Python online: DiveIntoPython and
"How To Think Like A Computer Scientist" (using Python), and many other
online resources available through Python.org.

* Absence of GUI and teamwork tools

-- There two commercial tools for wysiwyg tkinter development, one of which
is PythonWorks from Pythonware. Do CVS and Subversion count as teamwork
tools? They do solve the source management part. MoinMoin Wiki software will
solve the team interaction part of the equation, and there are chat packages
out there, including a Jabber client for instant messaging on all the
popular IM networks. It's a product opportunity for someone to integrate all
the tools into a cohesive whole, but all the parts seem to be there...

-----------

The one thing that has come to mind from writing this as a con for Python is
the lack of channels for widespread dissemination of information about
commercial software applications, support and consulting. Python does need
better publicizing in the marketplace. Python.org provides such a focus for
information about the language, but provides little beyond a jobs board for
the marketplace. It would be nice to see a registry of products and services
that use or support Python.

My conclusion is that Python is entirely ready for the enterprise - and it's
already there!

David LeBlanc
Seattle, WA USA

> -----Original Message-----
> From: python-list-admin at python.org
> [mailto:python-list-admin at python.org]On Behalf Of builder
> Sent: Wednesday, July 10, 2002 14:03
> To: python-list at python.org
> Subject: Python in the enterprise: Pros and cons
>
>
> Python has many fans in the open source community, but is it ready for
> the enterprise? Here are the advantages and disadvantages of using
> Python in the corporate environment.
> http://builder.com.com/article.jhtml?id=u00420020709DGS01.htm
> --
> http://mail.python.org/mailman/listinfo/python-list






More information about the Python-list mailing list