On 12/2/06, seber...
> I'm very pleased with TurboGears and idea that you can mix and match
> many quality
> components across frameworks such
> as TurboGears, Django and Pylons.
Well you can mix and match between TG and Pylons without too much
difficulty. With Django, you can swap pieces out but you start losing
features quickly if you do so (admin, generic views). At least that's
my understanding. I'm not a particularly advanced Django user.
> This seems great to me for Python's growth in the web space.
I think it is.
> However, the hype seems to be that Ruby + Rails is in a better position
> you ONLY have one choice and customers have it easier.
> Is this true or are all the good choices now a good thing?
Both can be true. There is a cost associated with increasing the
number of choices. The simple explanation for the cost of choice is
that more choices take more time to evaluate. The more complicated
answer is that people don't like picking incorrectly. More choices
increases the chance that you can pick wrong, which plays on the fear
of choosing incorrectly. If you go beyond a certain point, many people
will reject all the choices. Taken together, these factors are the
tyranny of choice.
I personally think having 2 or 3 choices in Python web stacks is good,
having more is bad. I tell people that there are dozens of web-related
frameworks in Python but they should pick TG or Django. I briefly
explain the philosophy behind both, mention that I use TG, and say
that if they don't like those options, I can provide further advice.
Where Rails really has an advantage is that it has a year or two head
start on the Python frameworks plus DHH and 37Signals do a great job
marketing the framework. This along with the only-one-option means
that it's easier to find commodity hosting for Rails and you see stuff
like Amazon approving Rails for production use. Rails is also
established enough to spawn its own ecosystem and you're seeing
projects like Mongrel designed specifically to work with Rails.
The Python community, is traditionally horrible with marketing but the
Django guys are doing pretty well. The advantages of the Python web
community are that Python is a more mature language than Ruby and has
a much larger selection of third party software. From what I've seen,
the Python web solutions are technically better than the Rails
equivalents but are less integrated. I look forward to the coming
WSGIfication of TG and the splitting up of TG packages into reusable
components. Next year should be a good year for Python on the web.