Ian Bicking: the old part of his blog

Why web programming matters most comment 000

I'd like to pipe in with my agreement regarding the true problem here. SQLObject is a good, transparent ORM. Nevow, Quixote and CherryPy are all quite reasonable object publishers. Cheetah or one of the XML template systems (ZPT, Kid, etc.) are decent template systems. The parts are all there. Because of distutils, they're even pretty easy to install.

The problem is that once you've got them installed, you're sitting there with a blank directory, wondering what to do next. Reading through the docs of the various projects will give you some ideas, but you don't get a great feeling about things because you're not really sure how to kick things off and make something visible that you can put your arms around and start improving. I do test-driven development and find that it helps, but a project really takes off once you've got something to grab onto.

That's what Rails offers that none of the current Python solutions does: a way to get going nearly instantly. So much so, that they can create a 10 minute demo video.

A large number of applications are all about CRUD. Sure, they all have their own wrinkles, but if you can give someone a quick start with CRUD and easy ways to grow from there, you've got yourself a winner with a big chunk of apps.

Subway can do this (but, I haven't looked closely enough at it to know if that's where it's heading). Bringing this kind of CRUD quickstart would at least let Python catch up with Rails.

Comment on Re: Why Web Programming Matters Most
by Kevin Dangoor


As Ian pointed out in another posting, and you say here, Python has all the bits. What it lacks is the "quickstart" appeal. Whatever you call it, that's what's missing. And I don't see this as "playing catchup to Rails" - it's a simple case of providing entry-level, tutorial type documentation and sample material (something that open source projects are notoriously lacking in, because none of us like writing it).

I don't think there's any need to evangelise a "one true system" for object publishing, or for templating, or whatever. Each has its strengths and weaknesses. But picking one set (and accepting the compromises) and doing a really good job of putting that quickstart tutorial together will add something extra to the mix. Subway sounds interesting, but a first glance makes it look like (more) packaging and "layers". I'm happy with a toolkit of "bits". I don't really want a packaged solution, I want a first step up.

Heck, I'm very close to going it alone, and building something for myself. I found a document the other day called "Four Days on Rails", which went the step past the 10-minute demo video, and showed how to start customising the initial application. I'm seriously considering doing something similar for Python, starting from SQLObject, Cheetah, and Quixote (or maybe CherryPy). But my graphic design skills are dire. I'm going to find it very hard to write something along the lines of "look - it's easy to build a basic web application in Python" when I can't even stomach the look of the result myself :-)

I don't know if I'll ever get round to doing this (my life is a mess of part-completed projects...) but I'm not sure that waiting and hoping someone else will do it for me is going to work, either.

(And I even looked at Rails, but I can't get my head round Ruby so I'm probably safe from the temptation to swap languages for a while yet...)

# Paul Moore