Old-School Coding for Facebook
by Tim Moran
A favorite site of ours, The Register.com (Biting the hand that feeds IT), reports that Facebook--which reporter Gavin Clarke calls "a social network site that's a poster child for the Web 2.0 revolution and online services"--has re-written the popular and dynamic PHP code on which the mega-site runs.
What's most interesting about the new code, called HipHop, is that it's a highly optimized but static version of C++. Clarke notes that this is quite a turn of events for the leading-edge social site, which was built on "the new generation of scripting languages," such as PHP.
C++, after all, is no stranger to the corporate IT world. Clarke: "C++ is traditionally associated with the reliable--but relatively unexciting--world of enterprise and server-side computing."
To be sure, no one is ever going to confuse working on CRM or databases with the funky fun that can be had over at Facebook. I mean, there are kids, millions of kids, in Facebook, so it's got to be exciting and edgy. But when you get to the crux of the change, it is, in fact, and enterprise IT issue.
The report notes that "the company claimed it cut the CPU use on its servers by up to 50 per cent, depending on the page, thanks to HipHop's transformation of PHP." David Recordon, Facebook's senior open programs manager, told The Register that--and here's where that relatively unexciting part comes in--this translates in "cost savings, as the company can manage its existing server farms, while adding additional traffic to its service."
Does this sound familiar? "We can scale the site in active users and face views and can get more from current hardware without buying more servers."
But don't think about trying HipHop out for your company's site. Recordon noted that the language would only be of interest to a very small group of users running very large sites. "HipHop makes sense at our scale, but not for everyone," Recordon said. "Most people will continue using PHP today." You'll have to find some other relatively unexciting way to save your company money.