Programming and Technology
RSS icon Home icon
  • Why HipHop is Hype and Facebook Looks Foolish

    Posted on February 4th, 2010 brandon No comments

    The twitterverse has been in a flurry of hype over Facebook’s latest abortion: HipHop. For those who don’t know, HipHop is Facebook’s answer to scalability problems on their platform. Since everyone and their dog (literally) is on facebook, their platform responds to millions of requests each day, meaning they need serious hardware and software that can handle this brutal, unrelenting onslaught every second of every day. Facebook is written in Php which is suitable language for most applications on the web however when you push it as hard as facebook has, it starts to split at the seems like any runtime that was not designed with enterprise in mind. You can extend its life with the use of load balancers, smart caching,  and good development practices but sooner or later it will fail you.

    HipHop is a php parser that converts facebook code into optimized c++ which can be compiled into higher performance binary programs. Facebook boasts 50% performance boosts. Great. Good for them. There are a number of reasons why this is non-news for the developer community despite the buzz it has generated. Some article writers have provided some quality journalism by noting that if you want to use any php extensions they also must be adapted to utilize the custom runtime that facebook has built to power these compiled binaries. What this boils down to is that this technology is only useful if you have highly specialized needs, need more power than an interpreted language can offer, and have the talent to adapt your extensions. Consider the resources needed to do this.

    I put forth the facebook looks foolish because rather than evaluating their platform technology choices and changing course to use more efficient technologies, they have taken an insufficient technology and bastardized it in way that is academic at best. No project manager who was worth their weight in salt would have ever approved such a bizarre and impractical creation when taking existing offerings into consideration. Something tells me the lone developer they hired to develop this monstrosity probably lives on cup-o-noodles with the meager wage facebook pays him. 50% performance boost for half the cost of refactoring for a more scalable platform: well golly, sign me up! Like I said, it’s great for facebook in the short term, but its useless to everyone else, and in the long term I’m sure it will harm php’s natural evolution into a respectable web application platform. Why optimize php to not suck, when you can just write it and convert it? Maybe i’m being too pessimistic but I can’t help but feel like it was a tremendous waste of resources.

    Facebook’s interests would have been better served utilizing a platform for scalability and concurrency. There are many fine choices out there such as erlang or scala, or hell, even enterprise java would have been a better choice since it provides all of the benefits that they had to jury rig into their compiled runtime. Perhaps facebook is more technologically ignorant than people perceive, or perhaps they are smart for promoting what started as a pet project to their infrastructure, but they just look stupid for holding it up like some kind of trophy. In my opinion they should operate more like google and just leverage it internally but keep quiet about it publicly. It doesn’t do them any good to promote this.

    So there, I said. Now shut the hell up about HipHop. I don’t care, and I suspect people in the know really don’t care either.

    • Share/Bookmark

    Leave a reply

Get Adobe Flash playerPlugin by wpburn.com wordpress themes