views:

329

answers:

5

I have been working with Ruby on Rails for over a year now and have been offered some development work with Python. I would like know if development with Python is as enjoyable as Ruby in terms of the clarity and ease of use. And how well is Python suited for Web development. I've heard of Pylons being a direct port of the Rails framework but does it provide the same level of comfort and features. Are there any popular websites built using Python and a framework that offers the same level of flexibilty as Rails.

Because Rails doesn't seem like work.

+3  A: 

One very good web development framework is Django

miya
But from what I have read it appears to be more of a CMS.
Sid
It's not a CMS. It has just as many features/capabilities as Rails but people like it for CMS because admin is awesome. If you can't leverage the admin, there's less benefit of using it over other frameworks. It works fine, just doesn't shine.
Karl Guertin
+3  A: 

The main two frameworks in Python are Pylons (with the coaligned Turbogears framework) and the more popular Django. Django stomps everything for doing content-based sites (CMS etc) because the admin is excellent.

However, your question makes you sound very much enthused with Ruby and I doubt you'll find anything you like as much. It goes both ways: I'm pretty meh on Rails but really like Python and node.js.

Karl Guertin
+3  A: 

I have done a lot of work with Python in the past year, mostly using Django. I enjoy it, and agree with others that it's great for content-heavy sites. Python and all of its frameworks very much follow the mantra of there being one correct way of doing things. I have learned that most of my pain extending Django lies in me approaching a problem wrongly and need to refactor the code. If you are a precise, logically-driven thinker, you'll enjoy Python a lot.

As far as websites that use Python for a code base, the biggest may be reddit and its family of sites. Django's website also lists sites that use it. I haven't had the privilege of using Pylons, but I also hear good things about it.

Thomas
Reddit is built on Pylons, take a look at their source code: http://code.reddit.com/browser/r2/r2
Thierry Lam
Ah, I didn't know that. That tidbit may make me go give Pylons a test drive.
Thomas
+4  A: 

Django is one of the most famous. It follows a different approach to web devlopment then ruby does, but it is just as powerful and feature rich. An example website running Django is lawrence.com

Pylons is another popular one, I don't know why you heard it was a Rails clone, because it is not. It is a lightweight framework that leverages the power of other open-source projects to give you flexibility in implementation. For example, you can choose to use SQLAlchemy, SQLObject or CouchDB for managing your database. Or you can choose between Mako, Genshi, Jinja2, or whatever you like for your templates. I think you get the picture. Some example website running of pylons are: freebase and Charlie Rose

There exist other web framework as well, but they are less popular.

Notably, TurboGears, which is now built upon Pylons. I would say it tries to pack more juice then pylons does, but it also constrain you more as it assumes more decisions for you. Still, you can stay away from them and do as you please, but it starts with a more constrained framework.

The last one I will mention is Zope, which is the big commercially backed one, that has been there for a while now, but I don't have much experience with it. I do believe it is the less "fun" to work with, but that's just my feeling, you can check it out yourself.

All in all, it comes down to your workflow, I personally, do not enjoy Ruby as a language as much as I do Python and it is natural that I thus like to work with python for web development then Ruby. You really need to try them out yourself, at least the first two I mentioned, try to build a small website, just to get a feel for it. All I can say is from my experience, people either like Rails or Python, not both...

Good Luck!

didibus
Thanks for the response. Sincerely appreciate it. So your saying that its unlikely that I may like Python if I like Ruby. I guess I will give it a shot anyway. Thank you again
Sid
+1  A: 

Clarity and ease of use are some of Pythons biggest selling points. In saying that, the different Python web frameworks cover almost the entire spectrum from small and simple all the way up to large and complex with everything in between.

You should find that most Python web frameworks have less 'magic' than Rails - ie they are a bit more explicit which is arguably better from the clarity point of view.

In my opinion, even if you enjoy Rails and don't ever plan on leaving, you should still try out other languages and frameworks occasionally to give you a broader perspective.

Personally I like Turbogears2, but I think Django would make a good starting point for a Rails developer that wanted to try out something else.

styro