Is Python suitable for a huge, enterprise size app?

Dave Brueck dave at pythonapocrypha.com
Wed May 18 13:54:31 EDT 2005


john67 wrote:
> The company I work for is about to embark on developing a commercial
> application that will cost us tens-of-millions to develop.
[snip]
> Right now it looks like Java is the language of choice that the app
> will be developed in. However, I have been looking and reading a lot
> about Python recently and it seems to me that Python could handle it.
> The big attraction to me is the developer productivity.  It seems that
> if Python can handle it, then we could gain a huge savings by using
> Python instead of Java from a productivity standpoint alone.
> 
> So, given the very general requirements in the first paragraph, do you
> think that Python could handle it?

Yes.

Python has good database support, it works well on a wide range of platforms, 
and it's great at tying together different processes, machines, etc. - for 
example, it's fairly easy to get Python to access C code, dynamic libraries, 
system APIs, and external programs. It's easier to test than Java code as well, 
and the overal cost of change is lower.

The concise nature of the language means that what would otherwise be a "huge" 
enterprise app in Java might just be a "large" enterprise app in Python - the 
project will not reach that unwieldy size as quickly, if ever.

The Google archives of this group have this topic covered in various ways many 
times over - IMO Python is great for smallish apps, but its advantage over e.g. 
Java actually *increases* with the size of the app.

If you go the Python route, two of the main obstacles will be:

1) mindshare - getting people on board, getting them to overcome biases one way 
or another, convincing them to really take the time to come up to speed on Python.

2) reducing the complexity of what you think you need to build. I don't know how 
to better describe this, but in Java, for example, I'd have whole bunches custom 
classes to do various tasks but the Python equivalent collapsed into a single 
module. Anyway, I predict that it'll take you some time to convince yourself 
that you simply won't need to build all of the same components as you otherwise 
would, or that they'll often be vastly simpler.

-Dave



More information about the Python-list mailing list