Ah sadly one of the great recurring themes in the python world.
I (and others) have repeatedly had this discussion. As a non uber-geek (in python or elsewhere) I can say the impression I've gotten over time, repeatedly, is that many people who write python are too damn smart. They say "look, we've got great libs that do X Y and Z. Just put 'em together!" Fine. If you're a really good developer, that's likely workable for you. Especially if you're working on a large complicated project, with lots of other really smart people like yourself.
But there is a huge class of ("under")developers, who either don't have the skills, experience and/or time to do this. It is these people who end up falling back on PHP, or increasingly, Rails, as it caters to a more RAD approach than putting together python libs. And the sheer numbers of these people have a huge effect on public perception and language penetration - that PHP trendline surely isn't measuring high-quality applications. Yet decision-makers see that trend, and are reassured; publishers see it and see "okay, we can publish a book on this"; ISPs see it and say "okay, we need to look into supporting this". Python developers seem to see it and say "but, yeah, almost all of those apps are crappy and written by script kiddies". Yes. Probably, but that's not the salient point here IMHO.
For example, Quixote is very nice inside - but it is certainly not packaged(docs/site/etc) or presented as something Joe Developer can start running with. It is clearly used and aimed at experienced and smart people. That limits its exposure. Which is probably fine - less support needed on a mailing list, and they have a great tool for their needs. Zope/Plone is just not something many will consider, for various reasons. It's complexity and opaqueness being the initial ones, but that's a near-religious argument I'm not looking to get into. CherryPy, again nice, but pretty barebones still last I checked. Great if you want a base tool to build on. Maybe akin to a java servlet container, but not a cohesive stack.
Also, a key point on Rails that David (original coder, current leader) mentions often, is that the framework was extracted, not designed on paper. And, less mentioned, but to me seemingly as important, it was basically done by one person. The original 'spirit' is very cohesive because of this - like a novel written by one person compared to being assembled and written by committee. This is why I'd guess projects like Subway will have trouble "gelling" into any similar sort of cohesiveness. Not that it's impossible to blend frameworks seamlessly, but I'd say much harder.
I only hang around these discussions because I would much rather write python than ruby, but Rails has presented an unbeatable argument at this point, that nothing in python matches. And I'm far from the only one with this opinion. I think the only way a viable competitor will arise is if a small team or individual takes the initiative and does it - summits, merging projects, etc. are not likely to work based on past examples. Perhaps the project/framework mentioned by holovaty.com (Adam? sorry can't see the comment while typing this) will be one to take this shape, arising out of a small team I believe (kansas.com?).
Okay enough from my peanut gallery. Thanks for raising the issue again - hopefully for the near-last time?
I think you are right on the money! This is analagous to the ballyhooing that comes from the Postgres group about MySQL. Sure, it's got the bells and whistles and can also make sandwiches, but it was lost on them that it was the ease of use coming in and relaxed learning curve of MySQL (not to mention that it could also run on Windows) that helped it's popularity.
I have this sinking feeling that new easy to grok simple languages will allways spread faster than OOL's. It's easier for a noob to understand logic first then paradigm later. If he doesn't have to deal with learning OO (as an example) at the onset he gets down to the business of writing code a lot faster than one who does.
Seriously, the group of people that you want are the young kids that some have termed "script kiddies". They are the ones that get excited about it and turn it into something cool. As far back as '98 people were talking about how cool PHP is and before that they talked abuot how cool Perl is. But nobody was talking about how cool Python is. That talked seemed limited to people on high horses looking down on the hordes of kiddies. A gret many of whom grew up (a little at least) and began influencing those (like managers and publishers) around them. And if that influence wasn't at first by jaw, then it was by example.
Please don't take this the wrong way. I am someone that makes a living with PHP, but I just adore Python (inspite of the fact that I also love the Curly Brace). It's an awesome language! However, if it's a popularity game we are talking about, simplicity is the ulitmate trump card. PHP has that.# BDKR
I think you're making what I call the "Microsoft Argument": target the mean of the standard distribution of brainpower, not the starboard tail, where the pythonistas hang out. This may be an increasingly bad problem with python. I dimly grasp what we're doing with decorators, and really haven't gotten my mind around why a 'new style class' is better than an old style one, and the use case for meta-classes escapes me. Maybe the answer, then, is a custom apache distribution that automagically configures mod_python for intense http combat. Not that I've the technical chops to configure such, mind you.# Chris Smith