This post is from one of several previous incarnations of this site and probably doesn’t quite fit the current format. In a former life this was a group blog and a tumblelog before it became a static jekyll site. If anything looks broken or is worded oddly that could be why. Pardon the dust.
There was a lot of chitter-chatter this last week about the new web frameworks and the situation with regard to their performance and ease of deployment in shared hosting environments:
I’ve been waiting for a while for the hype to die down so we could have a sensible conversation about all of this. It seems to me that the vast majority of the Rails naysaying has been hinged on a misguided comparison between it and PHP, and complaints about it’s performance. There’s clearly an issue there, but the issue doesn’t seem to me to be with Rails in particular. The “it’s hard” and “it’s slow” complaints both seem to be missing the fact that Rails, Django et al are solving a much larger problem than PHP.
The new web-development technologies are insta-frameworks, they come with all your professionalism and all your infrastructure in place from the outset. And the necessary baggage of memory overhead and complexity come along for the ride. The old familiars that we’ve been used to; PHP, Perl and the like come from the direction of shell-scripting-land where the most common case is the most basic. There are 100 hello worlds for every 1 webapp with all mod-cons. In contrast, the new web frameworks have the giants of Java-land in their sights. They say: we expect you to use url-rewriting, ORM, granular caching, TDD, asset servers etc. They’ll make it as easy as humanly possible to do so, but as part of the bargain they’ll expect you to step up and fulfill your side of the contract as a modern web professional.
And therein lies the crux of the problem I think. The new web frameworks shine a harsh critical light on the yawning gap between how we all started out and where we all should be. It seems like the majority of “I tried it, I didn’t like it” stories are from people who burnt their tongue on the first taste and realised their skills weren’t up to it. And the cries of “deployment! performance!” are from those who are aghast that they should understand anything about the servers and environments their apps are running in.
When a framework solves all the problems you were familiar with, it’s humbling to find that the problems you’re left with are those you know the least about.
Yes, there’s more to it than that and there is the odd complaint that’s valid and well considered. There’s certainly room for improvement, but these technologies are very, very young. If we can just support new ideas, give them a little breathing room, help investigate the new bottlenecks and understand that no technology can be all things to all men, then we might just see some progress.