Is Python suitable for a huge, enterprise size app?

Dave Brueck dave at pythonapocrypha.com
Wed May 18 16:36:46 EDT 2005


EHP wrote:
>>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.
> 
> 
> Python has good DB support - but only simple connectors (like JDBC).
> ORM in Java (like Hibernate) are much better than ORM in Python (probably the 
> best is sqlobject). How you can write huge OO app without ORM ?

I don't doubt that Hibernate is more mature, but having not used it, I can't 
really say how much better/worse it is than, say, sqlobject for Python. But, as 
you pointed out, there *are* ORM libraries for Python.

FWIW, the only times I've been involved in database-centric projects with a cost 
in the "tens of millions", the database team steered clear of any sort of any 
automatic ORM layer altogether. Depending on your application, an ORM can fall 
into the same category as, say, EJB - a nifty idea that looks great on paper but 
can cause more problems than it solves.

Just because the app itself is very OO, it doesn't always follow that the 
database level needs to be - there are lots and lots of problems for which 
normal RDBMS tables & joins are a pretty darn good fit. (I'm not trying to 
discount ORM layers or even object databases, just disagreeing with the notion 
that huge OO apps automatically require ORM)

Have fun,
-Dave



More information about the Python-list mailing list