Facebook’s polyglot programming

A lot of people have been talking about how Facebook’s use of Erlang for their web chat system is another great public example of Erlang in its sweet spot. That’s great stuff, but what really interests me is that they chose to write part of the system in Erlang, and part in C++. Looking slightly further afield, the main Facebook client library appears to be PHP, with unofficial libraries in no less than 17 other languages. Plus I recently saw a post about someone using an Erlang client library they translated from the PHP one, so there are probably even more in the wild. Clearly, they didn’t decide that having one or three libraries was enough.

With the proliferation of languages and development frameworks, there are more and more opportunities to fine tune your choices. Choosing well can lead to competitive advantages, while choosing poorly can do just the opposite. Consequently, developers would be well served to continue exploring more languages and tools, even if they’re satisfied with their current tools. And companies should look for ways to broaden their portfolio of available tools and skills, both by hiring developers with a broader range of experience, and by finding ways to allow and encourage their current staff to expand their horizons.

Leave a Reply