views:

1236

answers:

3

We're embarking on a project for a client. They plan on having about 50k users by the end of the year. We're pushing to use Pylons w/ Mako and SQLAlchemy, and our contact there is excited about it, but some of his colleagues are wary because it's not .NET or J2ee (they're used to enterprisey stuff).

Their web app will have some data analysis that we'll offload as well as a twang of social networking features. (basically all they have so far is some Flex mockups for UX)

I'm looking for some evidence with regard to development time, or other reasons that will help our argument to reassure the customer.

The other options is that we're barking up the wrong tree and have no idea. I hope that's not the case.

Any references to case studies or whatnot would be nice. The best I could find are

http://www.oracle.com/technology/pub/articles/rubio-python-turbogears.html

and

http://www.oracle.com/technology/pub/articles/devlin-python-oracle.html

which are a bit dated (wrt to TG2 and whatnot)

Thanks!

+3  A: 

It's almost easier to build a quick Proof of Concept service that demonstrates how clean and simple it is.

A simple SQLAlchemy mapping with a quick demo of query processing.

A simple template showing how cool Mako is.

A simple Pylons app to put the two together.

Most important -- use their application and their data. Not a lame hello world; not an existing tutorial.

If they want to compare your clean, elegant demo of their app with .NET and J2EE, they'll see that other languages lead to a much, much bigger code base.


Edit

Show them this: http://python.org/about/success/

Also, one of the best Python demos is to do things the way the SQLAlchemy and Django tutorials do things -- in interactive python from the >>> prompt. Nothing is more exciting than programming which is so simple you can do it interactively.

You won't find a lot of compelling case studies. Python is a community. .Net and J2EE are products. .Net has Microsoft's advertising backing it; Microsoft can afford to do extensive surveys and studies of their product. Same for Sun (soon to be Oracle) and J2EE -- lots of marketing hype backing up their claims.

Python just has what's on the Python.org site (http://python.org/about/). The various related projects (Pylons, Mako and SQLAlchemy) don't have lavish case study whitepapers. They do have a large number of downloads, and lots of word of mouth.

But if someone's looking for "proof" that Python works better than .Net, there's not going to be much.

S.Lott
Also be sure to test it under the load you expect it to scale to. Testing can be a HUGE undertaking in itself requiring many computers, weeks or months of setup and a humongous network, but you don't want to get stuck with a system that won't scale.
Bill K
While testing is important, if you're just trying to convince someone to stop staring at .NET and look at Python, a POC is sufficient.
S.Lott
+4  A: 

If you're looking for a success story for a customer, Virgin Charter is using Pylons with SQLAlchemy for their site. This is a high-value transaction system as people are booking very expensive flights through the site.

For a more high-traffic site, Reddit is now running on Pylons, along with Charlie Rose.

SQLAlchemy and Mako were both designed by Mike Bayer (A veteran Java programmer), SQLAlchemy being based on the best of Hibernate and with the same powerful principles and patterns that Hibernate supports.

If they're wary of deploying something they're not familiar with, Pylons runs on Jython, and the latest SQLAlchemy (0.6 branch) is about ready on Jython too. This would let you package up a full Pylons app into a WAR file for deployment which would reassure their Java-types.

For general Python, consider pointing out all the big animation studios that use it, and the other various srouces S.Lott points out.

Ben Bangert
A: 

They are crazy if they want to use j2ee imho. Visual Studio/C# is very nice, especially if you are not trying to do anything tricky. However, if you want to customize the C# way of doing things beyond what it was explicitly designed for it can quickly turn into a mess -- you get mired in automatically generated XML configuration files &c. Of course, I also think that Pylons with SQLAlchemy might turn into a mess because they too generate so much stuff that you ultimatly might end up having to reconfigure. If you want complete control, I would recommend a less intrusive environment, like Werkzueg. Please read my essay on writing MVC with no invisible means of support.

Aaron Watters