Ian Bicking: the old part of his blog

Re: What Really Makes Rails Work

Wow. I really don't agree with the core point here, that we don't need a Rails competitor.

I recently re-implemented in Rails a Web app I wrote originally with Webware, Cheetah, and SQLObject, and it took me a fourth of the time. Unfair comparison? Okay, yes, I'm aware of the problem domain, which may have drastically reduced the amount of time necessary for the re-implementation, I'll grant that. But there was more to it.

Rails was easy to develop with. ActiveRecord did basic things automatically for me that I didn't have to hand-code or futz with at all. It was intuitive. It was quick. It was very, very clean.

That said, I don't care for Ruby especially. Yeah, I'll say it. In a choir of people singing hymns to Ruby, I'm hitting a sour note, and for some admittedly arbitrary reasons: All those frickin' "end" statements; A huge Unix bias; A shrill community containing "religious" sorts who, in some cases, go so far as to impugn your worth as a developer based on the kind of hardware you're using. God. I can just see all those Ruby Doobies out there goose-stepping a love march in honor of their big, pink language.

But I do believe that saying Python doesn't need a Rails competitor feels to me like smart people over-thinking the problem and believing that underneath it all, naaah, we're in a different domain and we don't need no stinking Rails, when, actually, we kinda do, as much as anyone. You're correct, Ian, in saying that Rails is no Seaside, I agree with that, but okay, so what? Rails does make certain things really, almost trivially easy in a way that Webware/Cheetah/SQLObject or CherryPy/Cheetah/SQLObject make only kind've easy, and that makes me want to consign the argument about Web frameworks to the bloggers and just use Ruby and Rails until the Pythonistas come up with something that's definitively equivalent or better. After all, I've got a living to make and I can't spend all day (this entry notwithstanding) arguing about how typing up class definitions with SQLObject is, arguably, only a little less convenient then editing an ActiveRecord YAML configuration file.

So why is it again that Python can't have a solid, non-hacked, definitive Rails competitor, that's more than just existing components and some Python tape? Because I think it may be ego, a little. I think there are certain very smart people out there that will take some umbrage at the thought of having Dave Hansson and his pets point a finger and say, "See! See! God does love us best! We're so smart! Yay!" And I also think that some of the most talented programmers in the Python world -- the kinds who would be writing such a framework -- find some things so second nature and quick for themselves right now that they forget that those less familiar with the language or the toolsets will find comfort in the copious, organized documentation or the very active IRC community, or the rapid responses to questions which the Rails community offers, shrill evangelists aside.

Please don't perceive this as criticism, because I use SQLObject every freakin' day and, for that matter, my first Webware version of the app I mention above is faster than the Rails version, even though I had to code a lot of bookkeeping and error-checking by hand. And I love Python. Python syntax pistol-whips Ruby's, cruelly. But I think the Python community could stand to take a page out of Ruby's book where marketing, inviting newbies, and providing great docs and community are concerned, in addition to a complete, shiny framework that did, for a change, try to do everything and well.

Comment on What Really Makes Rails Work
by Greg McClure


Wow. I really don't agree with the core point here, that we don't need a Rails competitor.

# used rolex daytona