As far as the Rails vs. Python framework discussion, I've found that the best choice depends on what sort of app you're building.<p>For apps that are primarily user facing, I think Rails is way ahead. The framework is well-designed, but more important than that are the plugins--the number and quality of polished, batteries-included, well-documented plugins are unmatched by other frameworks I've looked at. The amount of time and effort this saves is incredible. Ruby is also a great language and though overall it doesn't feel quite as nimble to me as Python, it has added power in some areas (like blocks), and its OO model feels more pure than python's. Heroku is another huge benefit for Rails, as are tight integration with HAML, SASS, and CoffeeScript (much improved syntaxes for HTML, CSS, and JS, respectively).<p>On the python side, I've used both django and web2py and I found web2py a much more productive framework even though it has a smaller community, so web2py is the basis for my comparisons.<p>While I've found Rails to shine for primarily user-facing apps, I think python could be a better choice if your app is less user-focused and more oriented towards data processing, number crunching, and other heavy lifting on the back end. Python has a more mature ecosystem of libraries for these kinds of tasks, and given that I find Python to be more fluid and expressive than Ruby, I'd prefer it for writing in complex logic that goes beyond the typical CRUD scenarios.<p>There is a feeling when participating in Python communities that more emphasis is put on data manipulation and abstraction, and less on ui, user experience, and polish, which tend to receive more utilitarian treatment. In Rails, the pattern is reversed.