Is Python suitable for a huge, enterprise size app?

George Sakkis gsakkis at rutgers.edu
Wed May 18 17:08:57 EDT 2005


"Ivan Van Laningham" wrote:

> What you're going to run into are two major stumbling blocks.  One,
> Python's got no credibility with management types unless the
> credibility's already there.  "Python?  Never heard of it.  Tell me
> about it.  ...   Oh, it's interpreted, is it?  Interesting."  You can
> see Python going down the sewer pipes, right on their faces.  Two,
> security.  "This python sounds pretty interesting.  Tell me about the
> security.  How can we prevent people from stealing our source code,
> which we just spent millions developing?  ...  Hmm, trust the
developers
> out there not to peek?  Oh, sure, let's use it."  (True, there are
ways
> around the second, but you're going to have to talk _very_ fast and
have
> ALL the answers before the management type gets to his/her office and
> shuts the door in your face and on your idea.)

Another issue that hasn't been mentioned so far is staffing. You can
find java programmers and software engineers a dime dozen, but for
python it will be harder. The alternative of teaching python to a team
for a week or a month is IMO far too risky when you're talking about
millions; even if they are able to read or code fast in a new language,
they won't have grasped the idioms and the good programming techniques,
so they will be essentially mentally translating from java/c++/c#,
whatever their programming mother tongue is. On the bright side, in
python you won't have to try as hard to pick the few good programmers
among a sea of average/inexperienced/clueless ones that you'll have for
java.

Personally, although I find nothing comes close to the clarity and
flexibility that python offers, in this case I would go with java, if
for nothing else, to be on the safe side. Think about it: if the
project fails (and that's quite likely for huge projects, not dark
humour) and you've done it in python, everyone will blame python and
you who chose it; java OTOH belongs in the realm of "standard business
practices", so in a way "it's ok" to screw up, you did what everybody
else does. Yet another failed java enterprise project, nothing to see
here.

An idea that perhaps takes the best of both worlds is use java for the
high level architecture and static type interfaces, and write the bulk
of the implementation in jython. PSF has awarded a grant to make jython
catch up with cpython, and that's good news for making the transition
from java to python smoother to a large audience. Others may have more
to say on the pros and cons of going with java/jython instead of
cpython, but it seems a good compromise to me.

George




More information about the Python-list mailing list