SAN JOSE — No single programming language will be a panacea for developer teams, but picking the right open-source code for specific tasks, and for scale, is paramount to any project, according to Sam Shillace, senior vice president of engineering at Box, who spoke at Facebook's @Scale developer conference last week.
Shillace and his counterparts from LinkedIn and WhatsApp discussed the challenges they face and tough choices they must make about programming languages, but they also cautioned programmers to avoid chasing shiny, new languages if more trusted frameworks meet their needs.
LinkedIn focuses on Java
"Language choice is a huge issue for any company trying to do software at scale," says Kevin Scott, LinkedIn's senior vice president of engineering. The professional social network's developer team mostly uses Java, and it has for a long time because changing to another language is too prohibitive, according to Scott.
"There's constantly going to be new interesting programming environments out there for all of us to use," Scott says. "The trick is figuring out when it makes sense to efficiently support one in a big team of developers because there are costs of changing … We have tens and tens of millions of lines of code that would have to be rewritten in the new language."
Scott wouldn't share exact numbers, but he said LinkedIn has more than 1,000 employees who contribute to the company's code base, and the site has 380 million registered members. There's a limit to how many languages the company can support without getting bogged down in complexity, he says. "There's all this stuff that you end up having to build for yourself, and at some point you have to make hard choices."
At WhatsApp, 15 engineers for 900 million users
WhatsApp, a popular mobile messaging application owned by Facebook, has 15 engineers who manage the code that supports its more than 900 million users. Jamshid Mahdavi, a WhatsApp software engineer, says the company basically "fell into" the Erlang programming language after its founders considered various other open-source options.
"All the guts have been replaced now, but the Erlang part of it proved to be just really valuable," Mahdavi says, so the company stuck with the framework, which it started using in 2009. "They were able to completely replace the guts of the system while it was running," a major factor considering the potential disruption that would come as a result of downtime.
Box's Shillace says WhatsApp's use of Erlang is the best example he's ever seen of a language making a genuine difference to an engineering program and product efficiency.
Sign up for CIO Asia eNewsletters.