It’s the end of the week and, while I’ve got plenty of things I could write about, I’m sort of tired and burned out. So let’s just look at a couple things that went on this week.
There’s been a bit of a to-do the last few days over a supposed performance problem in Django. I have a hard time classifying it as a “bug”, though — the whole thing centers around the fact that, to generate an HTML select box of possible choices for a foreign key relationship, you have to, well, fetch all the possible choices out of your database. If you’ve got 30,000 rows in the table you’re FKing to, that’s probably going to hurt your server.
Granted, people keep running into it, but I would hope that this is something which would be fairly obvious when you think about it — offering a list of 30,000 choices means you have to fetch all 30,000 of them and hold them in memory. That’s why raw_id_admin exists, and part of the reason why limit_choices_to exists.
Joel Spolsky has set the Ruby on Rails world ablaze by looking at language platforms for web development and excluding Ruby and Rails — for now. I don’t normally like to use this word, but DHH’s reaction, and the reactions of most of the Rails fans who commented in Joel’s forum strike me as being, well, knee-jerk.
Joel’s looking at language choices from the position of a business user, most likely in a large company, who may have to bet the company, or at least his job, on the results of those choices. And, frankly, there’s not enough historical track record and evidence right now to make Rails or Django or any of the other new frameworks a safe choice in those terms. He listed “three and a half” platforms, and gave Python the “half”, but I’m almost certain that’s to do with things like Zope which have been around for a long time. Even though they have their failings, they have known failings. The new frameworks are still, well, too new — even though they’re seeing use in lots of places — to have those kinds of well-established, tried-and-tested records.
This isn’t news and shouldn’t be, and it’s why Joel qualified his comments about Ruby and Rails by saying that they’d be able to get on the list in “a year or six”. Big organizations are relentlessly conservative, and it’s going to take a few people consistently beating the pants off them to get them to really open up to the emerging generation of web frameworks.
Comments for this entry are closed. If you'd like to share your thoughts on this entry with me, please contact me directly.
It should not be considered a “bug” - in so far as it is operating exactly as designed and intended. But by submitting it as a ticket to trac (called bug, defect, bad idea, or “something I don’t agree with”) - I at least call attention to the fact that I’d like to see the inverse default value.
People place too much gut-stock and hurt on the word bug. It’s just a request for a change, as have been the other “bugs” that I’ve submitted in the hopes of helping improve an already awesome product.
-joe