Casey: "I think it's extremely hard to appreciate both the advantages and disadvantages of a framework if you haven't done a bunch of stuff both with and without one. ... Tim can be at least as productive writing PHP by hand as I can using Django, but most of us can't be Tim. Most of us need to exploit every unfair advantage and shortcut we can find." I won't disagree with Casey. We see it from different angles, but Casey has more experience at both "ends" of the problem, and an informed, balancing approach is best anyway. Much depends on exactly what you're doing and what resources you can call on—not to mention what you're used to. Mutatis mutandis you're trading application speed and for coding speed, with arguments on both sides as far as scalability. Since application speed is just not an issue for most of what most people do these days, gaining developer-coding speed is a good trade. I see errors in both directions. There are some CRUD pieces to LibraryThing that took *way* too much time to do because we did them all by hand. Casey's introduction of a Django framework there was very smart. At the same time, I think Twitter got stuck in RoR. When a web application is so extremely simple--it does basically one thing!--you might as well write that as "close to the machine" as possible. Tim