Kay lives here

working with the web

Another angle on the frameworks debate

This post started life as a comment on Akash Mehta’s post on the SitePoint PHP blog Last we checked, PHP IS a framework, but it started to get long and ranty so I moved it over here.

I’m allowed to rant on my own blog, right?

Akash wanted to point out that an argument often invoked in PHP vs Ruby on Rails debate – namely that Rails is a framework whereas PHP is a language and thus they can’t be compared directly – is not quite right because PHP was designed for the web and as such, it’s a framework as well as a language.

I think the same argument can also be applied, to some extent, to ColdFusion. It probably fits even better because ColdFusion, which predates both PHP and ASP, was designed with speed and ease of development in mind, so the things that developers need to do all the time – querying databases, looping over result sets, sending email, doing remote requests – are built into the core language in such a way that they can be accomplished in as few lines of code as possible.

This brings another dimension into the frameworks debate (disclaimer: I’m a big fan of formal frameworks). Is there a point where a web application is so small or so simple that adding a framework simply adds unnecessary overhead? Should the fact that ColdFusion is so web-application-centric be enough for the developer to get the job done? I’m interested in your thoughts.

Of course, ColdFusion has a very healthy frameworks scene whereas I get the feeling frameworks are not as widespread or popular in the PHP universe. Does this reflect ColdFusion’s greater focus on the enterprise market – where applications tend to be larger, more complex and integrate with other technologies more? Is the fact that PHP has always been free and open source attracting a different kind of developer? Will the recent Open BlueDragon and open source Railo announcements change the CF developer profile? Or is it too late for that?

Where was I even going with this?

So thanks Akash, for your deep thought-inducing post. I do have to disagree with your opening statement, however – “When it comes to web programming languages, PHP probably holds the record for copping criticism from the community at large” – I think the world title for Web Application Language Whipping Boy is ColdFusion’s by a long shot!